home *** CD-ROM | disk | FTP | other *** search
/ Revista CD Expert 8 / Revista CD Expert nº 08 CD1.iso / Utilitarios / Programacao / MS-DOS Interrupt List / inter60a / INTERRUP.A < prev    next >
Text File  |  1999-01-03  |  352KB  |  9,182 lines

  1. Interrupt List            Release 60        Last change 03jan99
  2. Copyright (c) 1989,1990,1991,1992,1993,1994,1995,1996,1997,1998,1999 Ralf Brown
  3. --------!---FILELIST-------------------------
  4. Please redistribute the following files unmodified as a group, in a quartet of
  5. archives named INTER60A through INTER60D (preferably the original authenticated
  6. PKZIP archives):
  7.     INTERRUP.1ST    the read-me file, containing credits, availability info
  8.     INTERRUP.A    INT 00 through INT 10/CF  \
  9.     INTERRUP.B    INT 10/BF through INT 15/0F\
  10.     INTERRUP.C    INT 15/10 through INT 15/E7 \
  11.     INTERRUP.D    INT 15/E8 through INT 1A/B0  \
  12.     INTERRUP.E    INT 1A/B1 through INT 1F      \      total 2459 pages at
  13.     INTERRUP.F    INT 20 through INT 21/43       \  60 lines per page,
  14.     INTERRUP.G    INT 21/44 through INT 21/5E    \ 2615 with INTPRINT -p
  15.     INTERRUP.H    INT 21/5F through INT 21/E2     >(8653 entries)
  16.     INTERRUP.I    INT 21/E3 through INT 21/F1    / (4081 tables)
  17.     INTERRUP.J    INT 21/F2 through INT 25       /
  18.     INTERRUP.K    INT 26 through INT 2F/16      /
  19.     INTERRUP.L    INT 2F/17 through INT 2F/AC  /
  20.     INTERRUP.M    INT 2F/AD through INT 30    /
  21.     INTERRUP.N    INT 31 through INT 5F       /
  22.     INTERRUP.O    INT 60 through INT 61      /
  23.     INTERRUP.P    INT 62 through INT 6A     /
  24.     INTERRUP.Q    INT 6B through INT 91    /
  25.     INTERRUP.R    INT 92 through INT FF  /
  26.     INTERRUP.PRI    a brief introduction to interrupts
  27.     INTPRINT.COM    a simple formatter that also generates a list summary
  28.     INTPRINT.DOC    instructions for INTPRINT
  29.     OVERVIEW.LST    brief listing of major uses of each interrupt
  30.     86BUGS.LST    a listing of CPU bugs and undocumented features
  31.     BIBLIO.LST    bibliography of information sources for the list
  32.     CMOS.LST    a description of the CMOS RAM data bytes
  33.     FARCALL.LST    APIs available through FAR CALLs
  34.     GLOSSARY.LST    a glossary of terms, abbreviations, and acronyms
  35.     MEMORY.LST    format of the BIOS data area
  36.     OPCODES.LST    a listing of recent and undocumented CPU instructions
  37.     PORTS.LST    a listing of I/O ports
  38.     CATEGORY.KEY    descriptions of divider-line category letters
  39.     COMBINE.COM    combine the pieces of the list into a single file
  40.     COMBINE.DOC    documentation for COMBINE
  41. The following files should be distributed in an archive called INTER60E:
  42.     86BUGSnn.ZIP    programs to test for CPU bugs
  43.     COMBINE.ASM    source code for COMBINE.COM
  44.     INT.*        invoke interrupts from commandline
  45.     INTHLP??.ZIP    Interrupt Helper viewer for the interrupt list
  46.     INTLIST.E    Epsilon extension for handling list
  47.     INTPRINT.C    source code for INTPRINT
  48.     INTSUM??.ZIP    interrupt list browser (Interrupt Summary)
  49.     IVIEW*.ZIP    another interrupt list browser
  50. The following should be distributed in an archive called INTER60F:
  51.     INT2RTF.ZIP    Slava Gostrenko's Windows Help converter
  52.     INT2WHLP.ZIP    convert list into Windows Help database
  53.     INTERRUP.ICO    icon for interrupt list
  54.     HINTSRCH.ZIP    WinHelp DLL for full-text searches of interrupt list
  55.     WH_ED*.ZIP    WinHelp-file editor
  56. Finally, the following should be distributed in an archive called INTER60G:
  57.     IL2ME???.ZIP    convert list into Multi-Edit help database
  58.     INT2GUID.*    convert list into TurboPower GUIDE or POPHELP database
  59.     INT2HLP.ZIP    convert list into QuickHelp database
  60.     INT2IPF.ZIP    convert list into OS/2 .IPF database
  61.     INT2QH.*    program to convert list into QuickHelp database
  62.     INT2TPH.ZIP    convert to Turbo/Borland Pascal help file (.TPH)
  63.     INTHELP.*    convert list into TurboPower GUIDE database
  64.     RB2NG???.ZIP    convert list into Norton Guides database
  65. --------!---CONTACT_INFO---------------------
  66. If you notice any mistakes or omissions, please let me know!  It is only with
  67. YOUR help that the list can continue to grow at the current rate.  Please send
  68. all changes to me rather than distributing a modified version of the list.
  69.  
  70. Please read the file INTERRUP.1ST before asking me any questions.  You may find
  71. that they have already been addressed.
  72.  
  73.      Ralf Brown
  74.  
  75. Internet: ralf@pobox.com (currently forwards to ralf@telerama.lm.com)
  76. FIDO: Ralf Brown 1:129/26.1
  77.     or post a message to me in the DR_DEBUG echo (I probably won't see it
  78.     unless you address it to me)
  79.  
  80. I reply to all e-mail submissions, but some of my replies bounce because of
  81. bad return paths.  If you don't get a response from me within a reasonable
  82. period of time, send it again with a better return path (many mailers are
  83. improperly configured and do not produce a valid From: address).
  84. --------!---Note-----------------------------
  85. See INTERRUP.1ST for the key to system abbreviations and a list of the
  86. trademarks mentioned here.
  87. --------!---DISCLAIMER-----------------------
  88. DISCLAIMER:  THIS MATERIAL IS PROVIDED "AS IS".     I verify the information
  89. contained in this list to the best of my ability, but I cannot be held
  90. responsible for any problems caused by use or misuse of the information,
  91. especially for those functions not officially documented.  If it is marked
  92. "internal" or undocumented, you should check it carefully to make sure it
  93. works the same way in your version of the software (and please let me know
  94. whether or not it works the same way).    Information marked with "???" is
  95. known to be incomplete or guesswork.
  96. --------!---FLAGS----------------------------
  97. The use of -> instead of = signifies that the indicated register or register
  98. pair contains a pointer to the specified item, rather than the item itself.
  99. Register pairs (such as AX:BX) indicate that the item is split across the
  100. registers, with the high-order half in the first register.
  101.  
  102. One or more letters may follow the interrupt number; they have the following
  103. meanings:  U - undocumented function, u - partially documented function,
  104. P - available only in protected mode, R - available only in real or V86 mode,
  105. C - callout or callback (usually hooked rather than called),
  106. O - obsolete (no longer present in current versions)
  107. --------!---CATEGORIES-----------------------
  108. The ninth column of the divider line preceding an entry usually contains a
  109. classification code (the entry has not been classified if that character is
  110. a dash).  The codes currently in use are:
  111.     A - applications, a - access software (screen readers, etc),
  112.     B - BIOS, b - vendor-specific BIOS extensions,
  113.     C - CPU-generated, c - caches/spoolers,
  114.     D - DOS kernel, d - disk I/O enhancements,
  115.     E - DOS extenders, e - electronic mail, F - FAX,
  116.     f - file manipulation, G - debuggers/debugging tools, g - games,
  117.     H - hardware, h - vendor-specific hardware,
  118.     I - IBM workstation/terminal emulators, i - system info/monitoring,
  119.     J - Japanese, j - joke programs,
  120.     K - keyboard enhancers, k - file/disk compression,
  121.     l - shells/command interpreters,
  122.     M - mouse/pointing device, m - memory management,
  123.     N - network, n - non-traditional input devices,
  124.     O - other operating systems,
  125.     P - printer enhancements, p - power management,
  126.     Q - DESQview/TopView and Quarterdeck programs,
  127.     R - remote control/file access, r - runtime support,
  128.     S - serial I/O, s - sound/speech,
  129.     T - DOS-based task switchers/multitaskers, t - TSR libraries
  130.     U - resident utilities, u - emulators,
  131.     V - video, v - virus/antivirus,
  132.     W - MS Windows,
  133.     X - expansion bus BIOSes, x - non-volatile config storage
  134.     y - security, * - reserved (and not otherwise classified)
  135. --------C-00---------------------------------
  136. INT 00 C - CPU-generated - DIVIDE ERROR
  137. Desc:    generated if the divisor of a DIV or IDIV instruction is zero or the
  138.       quotient overflows the result register; DX and AX will be unchanged.
  139. Notes:    on an 8086/8088, the return address points to the following instruction
  140.     on an 80286+, the return address points to the divide instruction
  141.     an 8086/8088 will generate this interrupt if the result of a division
  142.       is 80h (byte) or 8000h (word)
  143. SeeAlso: INT 04,OPCODE "AAD"
  144. --------G-00---------------------------------
  145. INT 00 - Zenith - ROM DEBUGGER
  146. Desc:    invokes the ROM Debugger when at the BIOS level; equivalent to
  147.       pressing Ctrl-Alt-Ins on booting.
  148. Note:    since DOS revectors INT 00, it is necessary to restore this vector to
  149.       its original ROM BIOS value in order to invoke the debugger once DOS
  150.       loads
  151. SeeAlso: INT 03"Columbia"
  152. --------C-01---------------------------------
  153. INT 01 C - CPU-generated - SINGLE STEP
  154. Desc:    generated after each instruction if TF (trap flag) is set; TF is
  155.       cleared on invoking the single-step interrupt handler
  156. Notes:    interrupts are prioritized such that external interrupts are invoked
  157.       after the INT 01 pushes CS:IP/FLAGS and clears TF, but before the
  158.       first instruction of the handler executes
  159.     used by debuggers for single-instruction execution tracing, such as
  160.       MS-DOS DEBUG's T command
  161. SeeAlso: INT 03"CPU"
  162. --------C-01---------------------------------
  163. INT 01 C - CPU-generated (80386+) - DEBUGGING EXCEPTIONS
  164. Desc:    generated by the CPU on various occurrences which may be of interest
  165.       to a debugger program
  166. Note:    events which may trigger the interrupt:
  167.       Instruction address breakpoint fault - will return to execute inst
  168.       Data address breakpoint trap - will return to following instruction
  169.       General detect fault, debug registers in use
  170.       Task-switch breakpoint trap
  171.       undocumented 386/486 opcode F1h - will return to following instruc
  172. SeeAlso: INT 03"CPU"
  173. --------H-02---------------------------------
  174. INT 02 C - external hardware - NON-MASKABLE INTERRUPT
  175. Desc:    generated by the CPU when the input to the NMI pin is asserted
  176. Notes:    return address points to start of interrupted instruction on 80286+
  177.     on the 80286+, further NMIs are disabled until the next IRET
  178.       instruction, but one additional NMI is remembered by the hardware
  179.       and will be serviced after the IRET instruction reenables NMIs
  180.     maskable interrupts may interrupt the NMI handler if interrupts are
  181.       enabled
  182.     although the Intel documentation states that this interrupt is
  183.       typically used for power-failure procedures, it has many other uses
  184.       on IBM-compatible machines:
  185.         Memory parity error: all except Jr, CONV, and some machines
  186.                   without memory parity
  187.         Breakout switch on hardware debuggers
  188.         Coprocessor interrupt: all except Jr and CONV
  189.         Keyboard interrupt: Jr, CONV
  190.         I/O channel check: CONV, PS50+
  191.         Disk-controller power-on request: CONV
  192.         System suspend: CONV
  193.         Real-time clock: CONV
  194.         System watch-dog timer, time-out interrupt: PS50+
  195.         DMA timer time-out interrupt: PS50+
  196.         Low battery: HP 95LX
  197.         Module pulled: HP 95LX
  198. --------m-02----SI0714-----------------------
  199. INT 02 U - STB RAPIDMAP.SYS - ???
  200.     SI = 0714h
  201.     ES:DI -> ???
  202. Return: ???
  203. SeeAlso: INT 67/AX=6100h"STB",PORT 00E1h"STB"
  204. --------C-03---------------------------------
  205. INT 03 C - CPU-generated - BREAKPOINT
  206. Desc:    generated by the one-byte breakpoint instruction (opcode CCh)
  207. Notes:    used by debuggers to implement breakpoints, such as MS-DOS DEBUG's G
  208.       command
  209.     also used by Turbo Pascal versions 1,2,3 when {$U+} specified
  210.     return address points to byte following the breakpoint instruction
  211.     called by Novell DOS 7 EMM386 after displaying an exception error
  212.       message (GPF, illegal opcodes, etc.) and before waiting for user
  213.       input
  214.     called by QEMM-386 if the user presses 'I' (undocumented) when prompted
  215.       after an exception error message
  216. SeeAlso: INT 01"CPU"
  217. --------G-03---------------------------------
  218. INT 03 - Columbia PCs (desktop,VP portables) - ROM DEBUGGER
  219. Desc:    invokes the ROM Debugger if INT 03 has not been revectored; equivalent
  220.       to pressing Esc on booting.
  221. SeeAlso: INT 00"Zenith",INT 03"Realia"
  222. --------G-03---------------------------------
  223. INT 03 - Realia COBOL - DEBUGGER SUPPORT
  224. Note:    Realia COBOL checks for a signature eight bytes prior to the interrupt
  225.       handler when it starts up
  226. BUG:    if the offset of the INT 03 vector is less than 8, the compiler and
  227.       all executables generated by it will crash the system
  228. SeeAlso: INT 03"Columbia"
  229. --------G-03---------------------------------
  230. INT 03 U - Watcom WVIDEO, Watcom WD - OUTPUT DEBUGGING MESSAGE
  231.     STACK:    DWORD    selector
  232.         DWORD    offset of ASCIZ message to display
  233. Notes:    the INT 03h instruction which invokes the debugger must be followed by
  234.       a JMP SHORT and the signature string "WVIDEO"
  235.     to check whether this interface is available, define a public byte
  236.       variable named ___WD_Present, which the debugger will set to 01h
  237.       before running the program
  238. SeeAlso: AX=0910h
  239. --------U-03---------------------------------
  240. INT 03 - DTown Utilities - POP UP
  241. Program: DTown Software Development's DTown Utilities contains various tools
  242.       which are useful to programmers, such as a memory viewer and
  243.       disassembler
  244. Note:    DTU pops up on INT 03 (if not hooked by a debugger) to allow the
  245.       user to inspect memory or code when the machine crashes; various
  246.       memory managers will invoke INT 03 when displaying a CPU exception
  247.       error message (either automatically or when the user presses a
  248.       particular key)
  249. SeeAlso: INT 2D/AL=20h"DTown"
  250. --------G-030000-----------------------------
  251. INT 03 - Soft-ICE - BACK DOOR COMMANDS - GET Soft-ICE VERSION
  252.     AX = 0000h
  253.     SI = magic value 4647h ('FG')
  254.     DI = magic value 4A4Dh ('JM')
  255. Return: SI = BCD version (0280h = v2.80)
  256. SeeAlso: INT 03/AX=0910h
  257. --------G-0301-------------------------------
  258. INT 03 - Soft-ICE - BACK DOOR COMMANDS - ???
  259.     AH = 01h
  260.     SI = magic value 4647h ('FG')
  261.     DI = magic value 4A4Dh ('JM')
  262. Return: ???
  263. SeeAlso: AX=0000h,AX=090Bh,INT 03/AH=10h
  264. --------G-030900-----------------------------
  265. INT 03 - Soft-ICE v2.80 - BACK DOOR COMMANDS - ???
  266.     AX = 0900h
  267.     SI = magic value 4647h ('FG')
  268.     DI = magic value 4A4Dh ('JM')
  269.     DS:BX -> ???
  270.     CX = ???
  271.     DX = ???
  272. Return: ???
  273. SeeAlso: AX=0000h,AH=01h,AX=0902h,AX=0914h
  274. --------G-030902-----------------------------
  275. INT 03 - Soft-ICE v2.80 - BACK DOOR COMMANDS - POPUP & START A DEBUG SESSION
  276.     AX = 0902h
  277.     SI = magic value 4647h ('FG')
  278.     DI = magic value 4A4Dh ('JM')
  279.     DS:BX -> initial register values (see #00001)
  280. Return: registers as specified in initial register values table
  281. Note:    This function is called by LDR.EXE in loading a program to
  282.       be debugged. After executing the function, Soft-ICE pops up its
  283.       debugging window and you may start debugging your program.
  284. Return: ???
  285. SeeAlso: AX=0000h,AX=090Ah,AX=0910h,AX=0914h
  286.  
  287. Format of Soft-ICE initial register values:
  288. Offset    Size    Description    (Table 00001)
  289.  00h    WORD    initial value of SP
  290.  02h    WORD    initial value of SS
  291.  04h    WORD    initial value of IP
  292.  06h    WORD    initial value of CS
  293.  08h    WORD    initial value of DS and ES
  294.  0Ah    WORD    ???
  295.  0Ch    WORD    ???
  296.  0Eh    WORD    ???
  297.  10h    WORD    initial value of AX
  298.  12h    WORD    ??? (defaults to 000AH ???)
  299.  14h    WORD    ??? (defaults to 0001H ???)
  300.  16h    WORD    ??? (defaults to 0100H ???)
  301. --------G-030903-----------------------------
  302. INT 03 - Soft-ICE v2.80 - BACK DOOR COMMANDS - ???
  303.     AX = 0903h
  304.     SI = magic value 4647h ('FG')
  305.     DI = magic value 4A4Dh ('JM')
  306.     DS:BX -> ???
  307.     CX = ???
  308.     DX = ???
  309. Return: ???
  310. SeeAlso: AX=0000h,AX=0902h,AX=0907h,AX=0914h
  311. --------G-030907-----------------------------
  312. INT 03 - Soft-ICE v2.80 - BACK DOOR COMMANDS - ???
  313.     AX = 0907h
  314.     SI = magic value 4647h ('FG')
  315.     DI = magic value 4A4Dh ('JM')
  316.     DS:BX -> ???
  317.     CX = ???
  318.     DX = ???
  319. Return: ???
  320. SeeAlso: AX=0000h,AX=0903h,AX=090Ah,AX=0914h
  321. --------G-03090A-----------------------------
  322. INT 03 - Soft-ICE v2.80 - BACK DOOR COMMANDS - ???
  323.     AX = 090Ah
  324.     SI = magic value 4647h ('FG')
  325.     DI = magic value 4A4Dh ('JM')
  326.     DS:BX -> ???
  327.     CX = ???
  328.     DX = ???
  329. Return: ???
  330. SeeAlso: AX=0000h,AX=0907h,AX=090Bh,AX=0914h
  331. --------G-03090B-----------------------------
  332. INT 03 - Soft-ICE v2.80 - BACK DOOR COMMANDS - ???
  333.     AX = 090Bh
  334.     SI = magic value 4647h ('FG')
  335.     DI = magic value 4A4Dh ('JM')
  336.     DS:BX -> ???
  337.     CX = ???
  338.     DX = ???
  339. Return: ???
  340. SeeAlso: AX=0000h,AX=090Ah,AX=0910h,AX=0914h
  341. --------G-030910-----------------------------
  342. INT 03 - Soft-ICE - BACK DOOR COMMANDS - DISPLAY STRING IN Soft-ICE WINDOW
  343.     AX = 0910h
  344.     SI = magic value 4647h ('FG')
  345.     DI = magic value 4A4Dh ('JM')
  346.     DS:DX -> ASCIZ string to display (max 100 bytes, 0Dh OK)
  347. Program: Soft-ICE is a debugger by Nu-Mega Technologies, Inc.
  348. SeeAlso: INT 03"WVIDEO"
  349. --------G-030911-----------------------------
  350. INT 03 - Soft-ICE - BACK DOOR COMMANDS - EXECUTE Soft-ICE COMMAND
  351.     AX = 0911h
  352.     SI = magic value 4647h ('FG')
  353.     DI = magic value 4A4Dh ('JM')
  354.     DS:DX -> ASCIZ command string (max 100 bytes, 0Dh OK)
  355. Return: nothing
  356. SeeAlso: AX=0912h,AX=0913h
  357. --------G-030912-----------------------------
  358. INT 03 - Soft-ICE - BACK DOOR COMMANDS - GET BREAKPOINT INFORMATION
  359.     AX = 0912h
  360.     SI = magic value 4647h ('FG')
  361.     DI = magic value 4A4Dh ('JM')
  362. Return: BH = entry number of last breakpoint set
  363.     BL = type of last breakpoint set (see #00002)
  364.     DH = entry number of last breakpoint to be triggered
  365.     DL = type of last triggered breakpoint (see #00002)
  366. Program: Soft-ICE is a debugger by Nu-Mega Technologies, Inc.
  367. SeeAlso: AX=0911h,AX=0913h,AX=0914h
  368.  
  369. (Table 00002)
  370. Values for Soft-ICE breakpoint type:
  371.  00h    BPM (breakpoint register types)
  372.  01h    I/O
  373.  02h    INTerrupt
  374.  03h    BPX (INT 03-style breakpoint)
  375.  04h    reserved
  376.  05h    range
  377. --------G-030913-----------------------------
  378. INT 03 - Soft-ICE v2.5x - BACK DOOR COMMANDS - SET Soft-ICE BREAKPOINT
  379.     AX = 0913h
  380.     SI = magic value 4647h ('FG')
  381.     DI = magic value 4A4Dh ('JM')
  382.     DS:DX -> breakpoint structure (see #00003)
  383. Return: AX = status
  384.         00h successful
  385.         BX = breakpoint number
  386.         03h breakpoint table full
  387.         06h memory limit error
  388.         07h I/O limit error
  389.         09h range limit error
  390.         16h duplicate breakpoint
  391. SeeAlso: AX=0911h,AX=0912h,AX=0914h
  392.  
  393. Format of Soft-ICE breakpoint structure:
  394. Offset    Size    Description    (Table 00003)
  395.  00h    BYTE    breakpoint type (see #00004)
  396.  01h    DWORD    breakpoint address 1
  397.         (lower range limit for memory BPs,
  398.         interrupt number for interrupt BPs,
  399.         address of BP for execution BPs,
  400.         I/O address (only word)    for I/O BPs)
  401.  05h    DWORD    breakpoint address 2
  402.         (upper range limit for memory BPs,
  403.         optional value to check for for interrupt BPs,
  404.         overlay number (0 = root) for execution BPs)
  405.  09h    DWORD    breakpoint address 3
  406.  0Dh    BYTE    breakpoint mode 1 (see #00005)
  407.         (for interrupt BPs = register to check
  408.             00h     no value checking
  409.             01h     check AL
  410.             02h     check AH
  411.             03h     check AX)
  412.  0Eh    BYTE    breakpoint mode 2 (see #00005)
  413.  0Fh    BYTE    breakpoint size (00h byte, 01h word, 03h dword)
  414.  10h    BYTE    breakpoint pass count before program stop
  415.  11h    BYTE    breakpoint state
  416. Note:    all unused fields should contain zeros
  417.  
  418. (Table 00004)
  419. Values for Soft-ICE breakpoint type:
  420.  00h    memory location
  421.  01h    memory range
  422.  03h    I/O
  423.  04h    interrupt
  424.  05h    execution break
  425.  
  426. (Table 00005)
  427. Values for Soft-ICE breakpoint mode:
  428.  01h    read
  429.  02h    write
  430.  04h    execution
  431. --------G-030914-----------------------------
  432. INT 03 - Soft-ICE v2.5x - BACK DOOR COMMANDS - REMOVE Soft-ICE BREAKPOINT
  433.     AX = 0914h
  434.     SI = magic value 4647h ('FG')
  435.     DI = magic value 4A4Dh ('JM')
  436.     BX = breakpoint number (returned by AX=0913h)
  437. Return: BX = ???
  438. Program: Soft-ICE is a debugger by Nu-Mega Technologies, Inc.
  439. SeeAlso: AX=0912h,AX=0913h
  440. --------G-030918-----------------------------
  441. INT 03 - Soft-ICE v2.80 - BACK DOOR COMMANDS - ???
  442.     AX = 0918h
  443.     SI = magic value 4647h ('FG')
  444.     DI = magic value 4A4Dh ('JM')
  445.     DS:BX -> ???
  446.     CX = ???
  447.     DX = ???
  448. Return: ???
  449. SeeAlso: INT 03/AX=0000h,INT 03/AX=0910h,INT 03/AX=0914h,INT 03/AH=10h
  450. --------G-0310-------------------------------
  451. INT 03 - Soft-ICE v2.80 - BACK DOOR COMMANDS - ???
  452.     AH = 10h
  453.     SI = magic value 4647h ('FG')
  454.     DI = magic value 4A4Dh ('JM')
  455. Return: ???
  456. SeeAlso: INT 03/AX=0000h,INT 03/AX=0910h,INT 03/AH=01h,INT 03/AH=11h
  457. --------G-0311-------------------------------
  458. INT 03 - Soft-ICE v2.80 - BACK DOOR COMMANDS - ???
  459.     AH = 11h
  460.     SI = magic value 4647h ('FG')
  461.     DI = magic value 4A4Dh ('JM')
  462. Return: none???
  463. SeeAlso: INT 03/AX=0000h,INT 03/AX=0910h,INT 03/AH=10h,INT 03/AX=130Ch
  464. --------G-03130C-----------------------------
  465. INT 03 - Soft-ICE v2.80 - BACK DOOR COMMANDS - ???
  466.     AX = 130Ch
  467.     SI = magic value 4647h ('FG')
  468.     DI = magic value 4A4Dh ('JM')
  469.     BX = ???
  470.     CX = ???
  471.     DX = ???
  472. Return: AX = ??? (1300h)
  473. SeeAlso: INT 03/AX=0000h,INT 03/AX=0910h,INT 03/AH=11h,INT 03/AX=130Eh
  474. --------G-03130E-----------------------------
  475. INT 03 - Soft-ICE v2.80 - BACK DOOR COMMANDS - ???
  476.     AX = 130Eh
  477.     SI = magic value 4647h ('FG')
  478.     DI = magic value 4A4Dh ('JM')
  479.     BX = ???
  480.     CX = ???
  481.     DX = ???
  482. Return: AX = ??? (1300h)
  483. SeeAlso: INT 03/AX=0000h,INT 03/AX=0910h,INT 03/AX=130Ch,INT 03/AX=1313h
  484. --------G-031313-----------------------------
  485. INT 03 - Soft-ICE v2.80 - BACK DOOR COMMANDS - ???
  486.     AX = 1313h
  487.     SI = magic value 4647h ('FG')
  488.     DI = magic value 4A4Dh ('JM')
  489.     BX = ???
  490.     CX = ???
  491.     DX = ???
  492. Return: AX = ??? (1300h)
  493. SeeAlso: INT 03/AX=0000h,INT 03/AX=0910h,INT 03/AX=130Eh
  494. --------G-030900-----------------------------
  495. INT 03 - Soft-ICE v2.80 - BACK DOOR COMMANDS - ???
  496.     AX = 0900h
  497.     SI = magic value 4647h ('FG')
  498.     DI = magic value 4A4Dh ('JM')
  499. Return: none???
  500. SeeAlso: INT 03/AX=0000h,INT 03/AX=0910h,INT 03/AH=10h,INT 03/AH=12h
  501. --------C-04---------------------------------
  502. INT 04 C - CPU-generated - INTO DETECTED OVERFLOW
  503. Desc:    the INTO instruction will generate this interrupt if OF (Overflow Flag)
  504.       is set; otherwise, INTO is effectively a NOP
  505. Note:    may be used for convenient overflow testing (to prevent errors from
  506.       propagating) instead of JO or a JNO/JMP combination
  507. SeeAlso: INT 00"CPU",OPCODE "AAD",OPCODE "AAM"
  508. --------B-05---------------------------------
  509. INT 05 - PRINT SCREEN
  510. Desc:    dump the current text screen to the first printer
  511. Notes:    normally invoked by the INT 09 handler when PrtSc key is pressed, but
  512.       may be invoked directly by applications
  513.     byte at 0050h:0000h contains status used by default handler
  514.       00h not active
  515.       01h PrtSc in progress
  516.       FFh last PrtSc encountered error
  517.     default handler is at F000h:FF54h in IBM PC and 100%-compatible BIOSes
  518.     since the BOUND instruction also calls INT 05h, but returns control
  519.       to the BOUND instruction, a failed BOUND check will cause an infinite
  520.       loop of PrtScreens unless the INT 05 handler is aware of the problem
  521.       and checks whether the interrupt was invoked by a BOUND instruction
  522. BUG:    some old BIOSes/applications appear to destroy BP on return
  523. SeeAlso: INT 10/AH=12h/BL=20h,INT 4A"Tandy 2000",INT 5E"TI Professional"
  524. SeeAlso: INT 80"Phar Lap"
  525. --------C-05---------------------------------
  526. INT 05 C - CPU-generated (80186+) - BOUND RANGE EXCEEDED
  527. Desc:    generated by BOUND instruction when the value to be tested is less than
  528.       the indicated lower bound or greater than the indicated upper bound.
  529. Note:    returning from this interrupt re-executes the failing BOUND instruction
  530. --------P-05454A-----------------------------
  531. INT 05 U - PSPS v2.01 - EJECT PAGE
  532.     AX = 454Ah ('EJ')
  533. Program: PSPS is shareware PostScript PrintScreen utility by A.N.D.
  534.       Technologies
  535. Note:    sends a ^D to the current printer
  536. SeeAlso: AX=4E57h,AX=5053h,AX=554Eh
  537. --------P-054E57-----------------------------
  538. INT 05 U - PSPS v2.01 - SET PARAMETERS
  539.     AX = 4E57h ('NW')
  540.     ES:SI -> 11-byte buffer containing new settings
  541. Return: buffer filled
  542. SeeAlso: AX=454Ah,AX=5053h,INT 17/AH=63h
  543. --------P-055053-----------------------------
  544. INT 05 U - PSPS v2.01 - GET PARAMETERS
  545.     AX = 5053h ('PS')
  546.     ES:SI -> 11-byte buffer for settings
  547. Return: buffer filled
  548. SeeAlso: AX=4E57h,AX=554Eh,INT 17/AH=64h
  549. --------P-05554E-----------------------------
  550. INT 05 U - PSPS v2.01 - UNINSTALL
  551.     AX = 554Eh ('UN')
  552. Program: PSPS is shareware PostScript PrintScreen utility by A.N.D.
  553.       Technologies
  554. SeeAlso: AX=454Ah,AX=4E57h,INT 17/AH=62h
  555. --------C-06---------------------------------
  556. INT 06 C - CPU-generated (80286+) - INVALID OPCODE
  557. Desc:    this interrupt is generated when the CPU attempts to execute an
  558.       invalid opcode (most protected-mode instructions are considered
  559.       invalid in real mode) or a BOUND, LDS, LES, or LIDT instruction
  560.       which specifies a register rather than a memory address
  561. Notes:    return address points to beginning of invalid instruction
  562.     with proper programming, this interrupt may be used to emulate
  563.       instructions which do not exist; many 386 BIOSes emulate the 80286
  564.       undocumented LOADALL instruction which was removed from the 80386+
  565.     generated by the 80386+ when the LOCK prefix is used with instructions
  566.       other than BTS, BTR, BTC, XCHG, XADD (486), CMPXCHG (486), INC, DEC,
  567.       NOT, NEG, ADD, ADC, SUB, SBB, AND, OR, or XOR, or any instruction
  568.       not accessing memory.
  569. SeeAlso: INT 0C"CPU",INT 0D"CPU"
  570. --------b-06---------------------------------
  571. INT 06 C - HP 95LX - SLEEP/WAKEUP
  572. Desc:    this interrupt is called just before going into light or deep
  573.       (shutdown) sleep and just after returning from light or deep sleep
  574. SeeAlso: INT 0B"HP 95LX",INT 15/AX=4DD4h,INT 15/AH=4Eh
  575. --------V-06---------------------------------
  576. INT 06 U - no-name clone - GRAPHICS CHARACTER TABLE (NOT A VECTOR!)
  577. Desc:    points at graphics data for characters 00h-7Fh of the current font
  578. SeeAlso: INT 43"EGA",INT 44"VIDEO"
  579. --------C-07---------------------------------
  580. INT 07 C - CPU-generated (80286+) - PROCESSOR EXTENSION NOT AVAILABLE
  581. Desc:    this interrupt is automatically called if a coprocessor instruction is
  582.       encountered when no coprocessor is installed
  583. Note:    can be used to emulate a numeric coprocessor in software
  584. SeeAlso: INT 09"CPU"
  585. --------H-08---------------------------------
  586. INT 08 C - IRQ0 - SYSTEM TIMER
  587. Desc:    generated 18.2 times per second by channel 0 of the 8254 system timer,
  588.       this interrupt is used to keep the time-of-day clock updated
  589. Notes:    programs which need to be invoked regularly should use INT 1C unless
  590.       they need to reprogram the timer while still keeping the time-of-day
  591.       clock running at the proper rate
  592.     default handler is at F000h:FEA5h in IBM PC and 100%-compatible BIOSes
  593.     may be masked by setting bit 0 on I/O port 21h
  594. SeeAlso: INT 1C,INT 4A"SYSTEM",INT 50"DESQview",INT 58"DoubleDOS",INT 70"IRQ8"
  595. SeeAlso: INT 78"GO32",INT D8"Screen Thief",MEM 0040h:0040h,MEM 0040h:006Ch
  596. --------C-08---------------------------------
  597. INT 08 C - CPU-generated (80286+) - DOUBLE EXCEPTION DETECTED
  598. Desc:    called when multiple exceptions occur on one instruction, or an
  599.       exception occurs in an exception handler
  600. Notes:    called in protected mode if an interrupt above the defined limit of
  601.       the interrupt vector table occurs
  602.     return address points at beginning of instruction with errors or the
  603.       beginning of the instruction which was about to execute when the
  604.       external interrupt caused the exception
  605.     if an exception occurs in the double fault handler, the CPU goes into
  606.       SHUTDOWN mode (which circuitry in the PC/AT converts to a reset);
  607.       this "triple fault" is a faster way of returning to real mode on
  608.       many 80286 machines than the standard keyboard controller reset
  609. --------H-09---------------------------------
  610. INT 09 C - IRQ1 - KEYBOARD DATA READY
  611. Desc:    this interrupt is generated when data is received from the keyboard.
  612.       This is normally a scan code (from either a keypress *or* a key
  613.       release), but may also be an ACK or NAK of a command on AT-class
  614.       keyboards.
  615. Notes:    this IRQ may be masked by setting bit 1 on I/O port 21h
  616.     if the BIOS supports an enhanced (101/102-key) keyboard, it calls
  617.       INT 15/AH=4Fh after reading the scan code (see #00006) from the
  618.       keyboard and before further processing; all further processing uses
  619.       the scan code returned from INT 15/AH=4Fh
  620.     the default interrupt handler is at F000h:E987h in 100%-compatible
  621.       BIOSes
  622.     the interrupt handler performs the following actions for certain
  623.       special keystrokes:
  624.         Ctrl-Break     clear keyboard buffer, place word 0000h in buffer,
  625.              invoke INT 1B, and set flag at 0040h:0071h
  626.         SysReq     invoke INT 15/AH=85h (SysReq is often labeled SysRq)
  627.         Ctrl-Numlock place system in a tight wait loop until next INT 09
  628.         Ctrl-Alt-Del jump to BIOS startup code (either F000h:FFF0h or the
  629.                destination of the jump at that address)
  630.         Shift-PrtSc     invoke INT 05
  631.         Ctrl-Alt-Plus (HP Vectra) enable keyclick
  632.         Ctrl-Alt-Plus (many clones) set clock speed to high
  633.         Ctrl-Alt-Minus (HP Vectra) reduce keyclick volume
  634.         Ctrl-Alt-Minus (many clones) set clock speed to low
  635.         Ctrl-Alt-SysReq (HP Vectra) generate hard reset
  636.         Ctrl-Alt-S    (many clones) run BIOS setup program
  637.         Ctrl-Alt-Esc (many clones) run BIOS setup program
  638.         Ctrl-Alt-Ins (many clones) run BIOS setup program
  639.         Ctrl-Alt-LeftShift-GrayMinus (some clones) turn off system cache
  640.         Ctrl-Alt-LeftShift-GrayPlus (some clones) turn on system cache
  641.     DR DOS hooks this interrupt to control the cursor shape (underscore/
  642.       half block) for overwrite/insert mode
  643.     DR Multiuser DOS hooks this interrupt for cursor shape control and to
  644.       control whether Ctrl-Alt-Del reboots the current session or the
  645.       entire system
  646. SeeAlso: INT 05"PRINT SCREEN",INT 0B"HP 95LX",INT 15/AH=4Fh,INT 15/AH=85h
  647. SeeAlso: INT 16/AH=00h,INT 16/AH=10h,INT 1B,INT 2F/AX=A901h,INT 4A/AH=00h"TI"
  648. SeeAlso: INT 51"DESQview",INT 59"DoubleDOS",INT 79"GO32"
  649.  
  650. (Table 00006)
  651. Values for keyboard make/break (scan) code:
  652.  01h    Esc         31h    N
  653.  02h    1 !         32h    M
  654.  03h    2 @         33h    , <         63h    F16
  655.  04h    3 #         34h    . >         64h    F17
  656.  05h    4 $         35h    / ?         65h    F18
  657.  06h    5 %         36h    Right Shift     66h    F19
  658.  07h    6 ^         37h    Grey*         67h    F20
  659.  08h    7 &         38h    Alt         68h    F21 (Fn) [*]
  660.  09h    8 *         39h    SpaceBar     69h    F22
  661.  0Ah    9 (         3Ah    CapsLock     6Ah    F23
  662.  0Bh    0 )         3Bh    F1         6Bh    F24
  663.  0Ch    - _         3Ch    F2         6Ch    --
  664.  0Dh    = +         3Dh    F3         6Dh    EraseEOF
  665.  0Eh    Backspace     3Eh    F4
  666.  0Fh    Tab         3Fh    F5         6Fh    Copy/Play
  667.  10h    Q         40h    F6
  668.  11h    W         41h    F7
  669.  12h    E         42h    F8         72h    CrSel
  670.  13h    R         43h    F9         73h    <delta> [*]
  671.  14h    T         44h    F10         74h    ExSel
  672.  15h    Y         45h    NumLock         75h    --
  673.  16h    U         46h    ScrollLock     76h    Clear
  674.  17h    I         47h    Home         77h    [Note2] Joyst But1
  675.  18h    O         48h    UpArrow         78h    [Note2] Joyst But2
  676.  19h    P         49h    PgUp         79h    [Note2] Joyst Right
  677.  1Ah    [ {         4Ah    Grey-         7Ah    [Note2] Joyst Left
  678.  1Bh    ] }         4Bh    LeftArrow     7Bh    [Note2] Joyst Up
  679.  1Ch    Enter         4Ch    Keypad 5     7Ch    [Note2] Joyst Down
  680.  1Dh    Ctrl         4Dh    RightArrow     7Dh    [Note2] right mouse
  681.  1Eh    A         4Eh    Grey+         7Eh    [Note2] left mouse
  682.  1Fh    S         4Fh    End
  683.  20h    D         50h    DownArrow
  684.  21h    F         51h    PgDn
  685.  22h    G         52h    Ins
  686.  23h    H         53h    Del
  687.  24h    J         54h    SysReq        ---non-key codes---
  688.  25h    K         55h    [Note1] F11     00h    kbd buffer full
  689.  26h    L         56h    left \| (102-key)
  690.  27h    ; :         57h    F11         AAh    self-test complete
  691.  28h    ' "         58h    F12         E0h    prefix code
  692.  29h    ` ~         59h    [Note1] F15     E1h    prefix code
  693.  2Ah    Left Shift     5Ah    PA1         EEh    ECHO
  694.  2Bh    \ |         5Bh    F13 (LWin)     F0h    prefix code (key break)
  695.  2Ch    Z         5Ch    F14 (RWin)     FAh    ACK
  696.  2Dh    X         5Dh    F15 (Menu)     FCh    diag failure (MF-kbd)
  697.  2Eh    C                     FDh    diag failure (AT-kbd)
  698.  2Fh    V                     FEh    RESEND
  699.  30h    B                     FFh    kbd error/buffer full
  700. Notes:    scan codes 56h-E1h are only available on the extended (101/102-key)
  701.       keyboard and Host Connected (122-key) keyboard; scan codes 5Bh-5Dh
  702.       are only available on the 122-key keyboard and the Microsoft Natural
  703.       Keyboard; scan codes 5Eh-76h are only available on the 122-key
  704.       keyboard
  705.     in the default configuration, break codes are the make scan codes with
  706.       the high bit set; make codes 60h,61h,70h, etc. are not available
  707.       because the corresponding break codes conflict with prefix codes
  708.       (code 2Ah is available because the self-test result code AAh is only
  709.       sent on keyboard initialization).  An alternate keyboard
  710.       configuration can be enabled on AT and later systems with enhanced
  711.       keyboards, in which break codes are the same as make codes, but
  712.       prefixed with an F0h scan code
  713.     prefix code E0h indicates that the following make/break code is for a
  714.       "gray" duplicate to a key which existed on the original PC keyboard;
  715.       prefix code E1h indicates that the following make code has no
  716.       corresponding break code (currently only the Pause key generates no
  717.       break code)
  718.     the Microsoft Natural Keyboard sends make codes 5Bh, 5Ch, and 5Dh
  719.       (all with an E0h prefix) for the Left Windows, Right Windows, and
  720.       Menu keys on the bottom row
  721.     the European "Cherry G81-3000 SAx/04" keyboard contains contacts for
  722.       four additional keys, which can be made available by a user
  723.       modification; the three new keys located directly below the cursor
  724.       pad's Delete, End, and PgDn keys send make codes 66h-68h (F19-F21);
  725.       the fourth new key, named <delta>, sends make code 73h
  726.     the SysReq key is often labeled SysRq
  727.     the "Accord" ergonomic keyboard with optional touchpad (no other
  728.       identification visible on keyboard or in owner's booklet) has an
  729.       additional key above the Grey- key marked with a left-pointing
  730.       triangle and labeled "Fn" in the owner's booklet which returns
  731.       scan codes E0h 68h on make and E0h E8h on break
  732.     the "Preh Commander AT" keyboard with additional F11-F22 keys treats
  733.       F11-F20 as Shift-F1..Shift-F10 and F21/F22 as Ctrl-F1/Ctrl-F2; the
  734.       Eagle PC-2 keyboard with F11-F24 keys treated those additional keys
  735.       in the same way
  736.     [Note1] the "Cherry G80-0777" keyboard has additional F11-F15 keys
  737.       which generate make codes 55h-59h; some other extended keyboards
  738.       generate codes 55h and 56h for F11 and F12, which cannot be managed
  739.       by standard DOS keyboard drivers
  740.     [Note2] the Schneider/Amstrad PC1512 PC keyboards contain extra keys,
  741.       a mouse, and a digital joystick, which are handled like extra keys.
  742.       The joystick's motion scancodes are converted into standard arrow
  743.       keys by the BIOS, and the joystick and mouse button scan codes are
  744.       converted to FFFFh codes in the BIOS keyboard buffer
  745.       (see CMOS 15h"AMSTRAD").
  746.       In addition to the keys listed in the table above, there are
  747.         Del-> (delete forward)    70h
  748.         Enter            74h
  749. SeeAlso: #00602 at INT 16/AX=6F07h,#03214 at INT 4A/AH=05h
  750. --------C-09---------------------------------
  751. INT 09 C - CPU-generated (80286,80386) - PROCESSOR EXTENSION PROTECTION ERROR
  752. Desc:    called if the coprocessor attempts to access memory outside a segment
  753.       boundary; it may occur at an arbitrary time after the coprocessor
  754.       instruction was issued
  755. Notes:    until the condition is cleared or the coprocessor is reset, the only
  756.       coprocessor instruction which may be used is FNINIT; WAIT or other
  757.       coprocessor instructions will cause a deadlock because the
  758.       coprocessor is still busy waiting for data
  759.     for the 486+, a coprocessor protection error generates an INT 0D
  760. SeeAlso: INT 07"CPU"
  761. --------*-09---------------------------------
  762. INT 09 P - internal hardware - RESERVED BY Intel (80486)
  763. Note:    this exception has been moved to INT 0D
  764. SeeAlso: INT 09"CPU",INT 0D
  765. --------H-0A---------------------------------
  766. INT 0A C - IRQ2 - LPT2 (PC), VERTICAL RETRACE INTERRUPT (EGA,VGA)
  767. Notes:    the TOPS and PCnet adapters use this interrupt request line by default
  768.     DOS 3.2 revectors IRQ2 to a stack-switching routine
  769.     on ATs and above, the physical data line for IRQ2 is labeled IRQ9 and
  770.       connects to the slave 8259.  The BIOS redirects the interrupt for
  771.       IRQ9 back here.
  772.     under DESQview, only the INT 15h vector and BASIC segment address (the
  773.       word at 0000h:0510h) may be assumed to be valid for the handler's
  774.       process
  775.     many VGA boards do not implement the vertical retrace interrupt,
  776.       including the IBM VGA Adapter where the traces are either cut or
  777.       removed
  778. SeeAlso: INT 52"DESQview",INT 5A"DoubleDOS",INT 71,INT 7A"GO32"
  779. --------H-0A---------------------------------
  780. INT 0A C - IRQ2 - Tandy 1000-series HARD DISK
  781. Notes:    this interrupt may be masked by setting bit 2 on I/O port 21h
  782.     the Tandy 1000, 1000A, and 1000HD use IRQ2 for the hard disk; the
  783.       1000EX, HX, RLX, RLX-HD, RLX-B, RLX-HD-B use IRQ5 instead; the
  784.       1000RL, RL-HD, SL, SL/2, TL, TL/2, and TL/3 are jumper-selectable
  785.       for either IRQ2 or IRQ5 (default IRQ5); the 1000SX and TX are
  786.       DIP-switch selectable for IRQ2 or IRQ5 (default IRQ2); the RSX and
  787.       RSX-HD use IRQ14.  Tandy systems which use IRQ2 for the hard disk
  788.       interrupt use IRQ5 for vertical retrace.
  789. SeeAlso: INT 52"DESQview",INT 5A"DoubleDOS",INT 71
  790. --------H-0A---------------------------------
  791. INT 0A - IRQ2 - ROLAND MPU MIDI INTERFACE
  792. Note:    newer Roland cards and MIDI interfaces by other manufacturers use
  793.       a jumper-selectable IRQ, but software and hardware generally defaults
  794.       to IRQ2
  795. SeeAlso: INT 52"DESQview",INT 5A"DoubleDOS",INT 71,INT 7A"GO32"
  796. --------C-0A---------------------------------
  797. INT 0A CP - CPU-generated (80286+) - INVALID TASK STATE SEGMENT
  798. Desc:    automatically called during a task switch if the new TSS specified by
  799.       the task gate is invalid for any of the following reasons:
  800.         TSS limit is less than 43 (80286) or 103 (80386/80486)
  801.         LDT selector invalid or segment not present
  802.         null SS selector, or SS selector outside LDT/GDT limit
  803.         stack segment is read-only
  804.         stack segment DPL differs from new CPL, or RPL <> CPL
  805.         CS selector is outside LDT/GDT limit or not code
  806.         non-conforming code segment's DPL differs from CPL
  807.         conforming code segment's DPL > CPL
  808.         DS/ES selectors outside LDT/GDT limit or not readable segments
  809. Note:    the handler must use a task gate in order to have a valid TSS under
  810.       which to execute; it must also reset the busy bit in the new TSS
  811. SeeAlso: INT 0B"CPU"
  812. --------H-0B---------------------------------
  813. INT 0B C - IRQ3 - SERIAL COMMUNICATIONS (COM2)
  814. Desc:    automatically asserted by the UART when COM2 needs attention, if the
  815.       UART has been programmed to generate interrupts
  816. Notes:    the TOPS and PCnet adapters use this interrupt request line as an
  817.       alternate
  818.     on PS/2s, COM2 through COM8 share this interrupt; on many PC's, COM4
  819.       shares this interrupt
  820.     may be masked by setting bit 3 on I/O port 21h
  821. SeeAlso: INT 0C"COM1",INT 53"DESQview",INT 5B"DoubleDOS",INT 7B"GO32"
  822. --------C-0B---------------------------------
  823. INT 0B CP - CPU-generated (80286+) - SEGMENT NOT PRESENT
  824. Desc:    generated when loading a segment register if the segment descriptor
  825.       indicates that the segment is not currently in memory, unless the
  826.       segment is an LDT (see INT 0A"CPU") or stack segment (see
  827.       INT 0C"CPU") needed by a task switch
  828. Note:    may be used to implement virtual memory by loading in segments as they
  829.       are accessed, clearing the "not present" bit after loading
  830. SeeAlso: INT 0A"CPU",INT 0E"CPU"
  831. --------h-0B---------------------------------
  832. INT 0B - HP 95LX - LOW-LEVEL KEYBOARD HANDLER
  833. Desc:    this is the lowest-level keyboard handler on an HP 95LX palmtop
  834. Note:    debounces key, places the keycode in I/O register 60h, and calls INT 09
  835. SeeAlso: INT 09,INT 0D"HP 95LX",INT 15/AX=4DD4h
  836. --------H-0C---------------------------------
  837. INT 0C C - IRQ4 - SERIAL COMMUNICATIONS (COM1)
  838. Desc:    automatically asserted by the UART when COM1 needs attention, if the
  839.       UART has been programmed to generate interrupts
  840. BUG:    this vector is modified but not restored by Direct Access v4.0, and
  841.       may be left dangling by other programs written with the same version
  842.       of compiled BASIC
  843. Notes:    on many PC's, COM3 shares this interrupt
  844.     may be masked by setting bit 4 on I/O port 21h
  845. SeeAlso: INT 0B"COM2",INT 54"DESQview",INT 5C"DoubleDOS",INT 7C"GO32"
  846. --------C-0C---------------------------------
  847. INT 0C C - CPU-generated (80286+) - STACK FAULT
  848. Desc:    this interrupt is generated in protected mode on a stack overflow or
  849.       underflow, or if an inter-level transition or task switch references
  850.       a stack segment marked "not present"; it is generated in real mode
  851.       on accessing a word operand at SS:FFFFh
  852. Note:    the 80286 will shut down in real mode if SP=1 before a push.  On the
  853.       PC AT and compatibles, external circuitry generates a reset on
  854.       shutdown.
  855. SeeAlso: INT 0B"CPU",INT 0D"CPU"
  856. --------I-0C---------------------------------
  857. INT 0C - IBM SYSTEM 36/38 WORKSTATION EMULATION - API POINTER
  858. Desc:    the IBM System 36/38 emulator may be invoked through a private API,
  859.       whose entry point address (see #00007) is offset 100h in the segment
  860.       pointed at by this vector
  861.  
  862. (Table 00007)
  863. Call the System 36/38 emulator API entry point with:
  864.     AH = function
  865.         03h update screen
  866.         05h select next session
  867.         AL = session number (00h-03h)
  868.         Return: AL = session type code
  869.                 00h not active
  870.                 01h display session
  871.                 02h printer session
  872.                 FEh invalid session number
  873.             DS = requested session's data segment (0 if not active)
  874.                 (see #00008)
  875. Return: ???
  876.  
  877. Format of System 36/38 emulator's data area:
  878. Offset    Size    Description    (Table 00008)
  879. 13Eh    BYTE    bit flags for status line indicators turned on since this byte
  880.         last zerod
  881. 13Fh    BYTE    bit flags for status line indicators turned off since this
  882.         byte last set to FFh
  883. 140h    WORD    offset of EBCDIC to ASCII translation
  884. 146h    WORD    offset of EBCDIC screen buffer
  885. 148h    WORD    offset of EC (engineering change) level signature
  886. 150h    BYTE    "KEYI"
  887. 151h    BYTE    5250 key scan code to be sent to remote
  888. 15Bh    BYTE    "SYSAV"
  889. 15Dh    BYTE    5250 cursor column
  890. 15Eh    BYTE    5250 cursor row
  891. 167h    BYTE    "DVCTAD"
  892. 178h    BYTE    "FLAGS"
  893. 184h    BYTE    "SESSNOAD"
  894. 193h    BYTE    "STNAD"
  895. 198h    BYTE    "NSDS"
  896. Note:    offsets are from the interrupt handler's segment
  897. --------H-0D---------------------------------
  898. INT 0D C - IRQ5 - FIXED DISK (PC,XT), LPT2 (AT), reserved (PS/2)
  899. Notes:    under DESQview, only the INT 15h vector and BASIC segment address (the
  900.       word at 0000h:0510h) may be assumed to be valid for the handler's
  901.       process
  902.     the Tandy 1000, 1000A, and 1000HD use IRQ2 for the hard disk; the
  903.       1000EX, HX, RLX, RLX-HD, RLX-B, RLX-HD-B use IRQ5 instead; the
  904.       1000RL, RL-HD, SL, SL/2, TL, TL/2, and TL/3 are jumper-selectable
  905.       for either IRQ2 or IRQ5 (default IRQ5); the 1000SX and TX are
  906.       DIP-switch selectable for IRQ2 or IRQ5 (default IRQ2); the RSX and
  907.       RSX-HD use IRQ14.  Tandy systems which use IRQ2 for the hard disk
  908.       interrupt use IRQ5 for vertical retrace.
  909.     may be masked by setting bit 5 on I/O port 21h
  910. SeeAlso: INT 0E"IRQ6",INT 0F"IRQ7",INT 55"DESQview",INT 5D"DoubleDOS"
  911. SeeAlso: INT 7D"GO32"
  912. --------H-0D---------------------------------
  913. INT 0D C - IRQ5 - Tandy 1000 60 Hz RAM REFRESH
  914. Desc:    used to ensure that the dynamic RAM retains its contents in earlier
  915.       1000-series models; later models use normal DMA for RAM refresh
  916.       (some early models have no DMA unless it is added via an expansion
  917.       card)
  918. SeeAlso: INT 55
  919. --------h-0D---------------------------------
  920. INT 0D - HP 95LX - INFRARED INTERRUPT
  921. Desc:    this interrupt is used to perform communications over the infrared
  922.       data link
  923. SeeAlso: INT 0B"HP 95LX",INT 0E"HP 95LX",INT 15/AX=4DD4h
  924. --------C-0D---------------------------------
  925. INT 0D C - CPU-generated (80286+) - GENERAL PROTECTION VIOLATION
  926. Desc:    the CPU generates this interrupt when it detects a protection violation
  927.       which does not fit under any other category having a separate
  928.       interrupt
  929. Notes:    called in real mode when
  930.         an instruction accesses a memory operand extending beyond offset
  931.           FFFFh (i.e. WORD at FFFFh or DWORD at FFFDh or higher) in segment
  932.           CS, DS, ES, FG, or GS
  933.         a PUSH MEM or POP MEM instruction contains an invalid bit encoding
  934.           in the second byte
  935.         an instruction exceeds the maximum length allowed (10 bytes for
  936.           80286, 15 bytes for 80386/80486)
  937.         an instruction wraps from offset FFFFh to offset 0000h
  938.     called in protected mode on protection violations not covered by INT 06
  939.       through INT 0C, including
  940.         segment limit violations
  941.         write to read-only segments
  942.         accesses using null DS or ES selectors
  943.         accesses to segments with privilege greater than CPL
  944.         wrong descriptor type
  945.     called on 80486 protected-mode floating-point protection fault
  946. SeeAlso: INT 09"80486",INT 0C"STACK"
  947. --------H-0E---------------------------------
  948. INT 0E C - IRQ6 - DISKETTE CONTROLLER
  949. Desc:    this interrupt is generated by the floppy disk controller on
  950.       completion of an operation
  951. Notes:    default handler is at F000h:EF57h in IBM PC and 100%-compatible BIOSes
  952.     may be masked by setting bit 6 on I/O port 21h
  953. SeeAlso: INT 0D"IRQ5",INT 56"DESQview",INT 5E"DoubleDOS",INT 7E"GO32"
  954. --------C-0E---------------------------------
  955. INT 0E C - CPU-generated (80386+ native mode) - PAGE FAULT
  956. Desc:    this interrupt is generated in protected and virtual-86 modes on
  957.       attempting to access a 4K memory page whose page table entry has
  958.       the "present" bit cleared
  959. Notes:    used to implement virtual memory--when the page fault occurs, the
  960.       operating system can load the appropriate page from disk
  961.     a protected-mode program written in the Flat memory model will often
  962.       generate this interrupt (typically reported as an Exception #14 or
  963.       Exception 0E with a register dump) when dereferencing an
  964.       uninitialized or corrupted pointer
  965. SeeAlso: INT 0B"CPU"
  966. --------h-0E---------------------------------
  967. INT 0E C - HP 95LX - EXTERNAL CARD INTERRUPT
  968. SeeAlso: INT 0D"HP 95LX",INT 0F"HP 95LX",INT 15/AX=4DD4h
  969. --------H-0F---------------------------------
  970. INT 0F C - IRQ7 - PARALLEL PRINTER
  971. Desc:    this interrupt is generated by the LPT1 printer adapter when the
  972.       printer becomes ready
  973. Notes:    most printer adapters do not reliably generate this interrupt
  974.     the 8259 interrupt controller generates an interrupt corresponding to
  975.       IRQ7 when an error condition occurs
  976. SeeAlso: INT 0D"IRQ5",INT 57"DESQview",INT 5F"DoubleDOS",INT 7F"GO32"
  977. SeeAlso: MEM 0040h:006Bh
  978. --------h-0F---------------------------------
  979. INT 0F C - HP 95LX - REAL-TIME CLOCK
  980. SeeAlso: INT 0E"HP 95LX",INT 15/AX=4DD4h,INT 70"IRQ8"
  981. --------C-10---------------------------------
  982. INT 10 C - CPU-generated (80286+) - COPROCESSOR ERROR
  983. Desc:    this interrupt is generated by the CPU when the -ERROR pin is asserted
  984.       by the coprocessor
  985. Note:    AT's and clones usually wire the coprocessor to use IRQ13, but not all
  986.       get it right
  987. SeeAlso: INT 09"hardware",INT 75
  988. --------V-1000-------------------------------
  989. INT 10 - VIDEO - SET VIDEO MODE
  990.     AH = 00h
  991.     AL = desired video mode (see #00010)
  992. Return: AL = video mode flag (Phoenix, AMI BIOS)
  993.         20h mode > 7
  994.         30h modes 0-5 and 7
  995.         3Fh mode 6
  996.     AL = CRT controller mode byte (Phoenix 386 BIOS v1.10)
  997. Desc:    specify the display mode for the currently active display adapter
  998. InstallCheck: for Ahead adapters, the signature "AHEAD" at C000h:0025h
  999.     for Paradise adapters, the signature "VGA=" at C000h:007Dh
  1000.     for Oak Tech OTI-037/057/067/077 chipsets, the signature "OAK VGA" at
  1001.       C000h:0008h
  1002.     for ATI adapters, the signature "761295520" at C000h:0031h; the byte
  1003.       at C000h:0043h indicates the chipset revision:
  1004.         31h for 18800
  1005.         32h for 18800-1
  1006.         33h for 18800-2
  1007.         34h for 18800-4
  1008.         35h for 18800-5
  1009.         62h for 68800AX (Mach32) (see also #00732)
  1010.       the two bytes at C000h:0040h indicate the adapter type
  1011.         "22" EGA Wonder
  1012.         "31" VGA Wonder
  1013.         "32" EGA Wonder800+
  1014.       the byte at C000h:0042h contains feature flags
  1015.         bit 1: mouse port present
  1016.         bit 4: programmable video clock
  1017.       the byte at C000h:0044h contains additional feature flags if chipset
  1018.         byte > 30h (see #00009)
  1019.     for Genoa video adapters, the signature 77h XXh 99h 66h at C000h:NNNNh,
  1020.       where NNNNh is stored at C000h:0037h and XXh is
  1021.         00h for Genoa 6200/6300
  1022.         11h for Genoa 6400/6600
  1023.         22h for Genoa 6100
  1024.         33h for Genoa 5100/5200
  1025.         55h for Genoa 5300/5400
  1026.       for SuperEGA BIOS v2.41+, C000h:0057h contains the product level
  1027.       for Genoa SuperEGA BIOS v3.0+, C000h:0070h contains the signature
  1028.         "EXTMODE", indicating support for extended modes
  1029. Notes:    IBM standard modes do not clear the screen if the high bit of AL is set
  1030.       (EGA or higher only)
  1031.     the Tseng ET4000 chipset is used by the Orchid Prodesigner II, Diamond
  1032.       SpeedSTAR VGA, Groundhog Graphics Shadow VGA, Boca Super X VGA,
  1033.       Everex EV-673, etc.
  1034. SeeAlso: AX=0070h,AX=007Eh,AX=10E0h,AX=10F0h,AH=40h,AX=6F05h,AH=FFh"GO32"
  1035. SeeAlso: INT 33/AX=0028h,INT 5F/AH=00h,INT 62/AX=0001h,MEM 0040h:0049h
  1036. Index:    installation check;Tseng ET4000|installation check;Ahead video cards
  1037. Index:    installation check;Oak Technologies|installation check;ATI video cards
  1038. Index:    installation check;Paradise video|installation check;Genoa video cards
  1039.  
  1040. Bitfields for ATI additional feature flags:
  1041. Bit(s)    Description    (Table 00009)
  1042.  0    70 Hz non-interlaced display
  1043.  1    Korean (double-byte) characters
  1044.  2    45 MHz memory clock rather than 40 MHz
  1045.  3    zero wait states
  1046.  4    paged ROMs
  1047.  6    no 8514/A monitor support
  1048.  7    HiColor DAC
  1049.  
  1050. (Table 00010)
  1051. Values for video mode:
  1052.      text/ text pixel    pixel    colors disply scrn  system
  1053.      grph resol     box  resolution       pages  addr
  1054.  00h = T  40x25     8x8   320x200    16gray      8   B800 CGA,PCjr,Tandy
  1055.      = T  40x25     8x14  320x350    16gray      8   B800 EGA
  1056.      = T  40x25     8x16  320x400     16      8   B800 MCGA
  1057.      = T  40x25     9x16  360x400     16      8   B800 VGA
  1058.  01h = T  40x25     8x8   320x200     16      8   B800 CGA,PCjr,Tandy
  1059.      = T  40x25     8x14  320x350     16      8   B800 EGA
  1060.      = T  40x25     8x16  320x400     16      8   B800 MCGA
  1061.      = T  40x25     9x16  360x400     16      8   B800 VGA
  1062.  02h = T  80x25     8x8   640x200    16gray      4   B800 CGA,PCjr,Tandy
  1063.      = T  80x25     8x14  640x350    16gray      8   B800 EGA
  1064.      = T  80x25     8x16  640x400     16      8   B800 MCGA
  1065.      = T  80x25     9x16  720x400     16      8   B800 VGA
  1066.  03h = T  80x25     8x8   640x200     16      4   B800 CGA,PCjr,Tandy
  1067.      = T  80x25     8x14  640x350     16/64      8   B800 EGA
  1068.      = T  80x25     8x16  640x400     16      8   B800 MCGA
  1069.      = T  80x25     9x16  720x400     16      8   B800 VGA
  1070.      = T  80x43     8x8   640x350     16      4   B800 EGA,VGA [17]
  1071.      = T  80x50     8x8   640x400     16      4   B800 VGA [17]
  1072.  04h = G  40x25     8x8   320x200      4      .   B800 CGA,PCjr,EGA,MCGA,VGA
  1073.  05h = G  40x25     8x8   320x200     4gray      .   B800 CGA,PCjr,EGA
  1074.      = G  40x25     8x8   320x200      4      .   B800 MCGA,VGA
  1075.  06h = G  80x25     8x8   640x200      2      .   B800 CGA,PCjr,EGA,MCGA,VGA
  1076.      = G  80x25      .      .    mono      .   B000 HERCULES.COM on HGC [14]
  1077.  07h = T  80x25     9x14  720x350    mono     var  B000 MDA,Hercules,EGA
  1078.      = T  80x25     9x16  720x400    mono      .   B000 VGA
  1079.  08h = T 132x25     8x8  1056x200     16      .   B800 ATI EGA/VGA Wonder [2]
  1080.      = T 132x25     8x8  1056x200    mono      .   B000 ATI EGA/VGA Wonder [2]
  1081.      = G  20x25     8x8   160x200     16      .    .  PCjr, Tandy 1000
  1082.      = G  80x25     8x16  640x400    color      .    .  Tandy 2000
  1083.      = G  90x43     8x8   720x348    mono      .   B000 Hercules + MSHERC.COM
  1084.      = G  90x45     8x8   720x360    mono      .   B000 Hercules + HERKULES [11]
  1085.      = G  90x29     8x12  720x348    mono      .    .  Hercules + HERCBIOS [15]
  1086.  09h = G  40x25     8x8   320x200     16      .    .  PCjr, Tandy 1000
  1087.      = G  80x25     8x16  640x400    mono      .    .  Tandy 2000
  1088.      = G  90x43     8x8   720x348    mono      .    .  Hercules + HERCBIOS [15]
  1089.  0Ah = G  80x25     8x8   640x200      4      .    .  PCjr, Tandy 1000
  1090.  0Bh =     reserved                   (EGA BIOS internal use)
  1091.      = G  80x25     8x8   640x200     16      .    .  Tandy 1000 SL/TL [13]
  1092.  0Ch =     reserved                   (EGA BIOS internal use)
  1093.  0Dh = G  40x25     8x8   320x200     16      8   A000 EGA,VGA
  1094.  0Eh = G  80x25     8x8   640x200     16      4   A000 EGA,VGA
  1095.  0Fh = G  80x25     8x14  640x350    mono      2   A000 EGA,VGA
  1096.  10h = G  80x25     8x14  640x350      4      2   A000 64k EGA
  1097.      = G    .      .    640x350     16      .   A000 256k EGA,VGA
  1098.  11h = G  80x30     8x16  640x480    mono      .   A000 VGA,MCGA,ATI EGA,ATI VIP
  1099.  12h = G  80x30     8x16  640x480     16/256K  .   A000 VGA,ATI VIP
  1100.      = G  80x30     8x16  640x480     16/64      .   A000 ATI EGA Wonder
  1101.      = G    .      .    640x480     16      .    .  UltraVision+256K EGA
  1102.  13h = G  40x25     8x8   320x200    256/256K  .   A000 VGA,MCGA,ATI VIP
  1103.  14h = T 132x25     Nx16      .     16      .   B800 XGA, IBM Enhanced VGA [3]
  1104.      = T 132x25     8x16 1056x400     16/256K  .    .  Cirrus CL-GD5420/5422/5426
  1105.      = G  80x25     8x8   640x200      .      .    .  Lava Chrome II EGA
  1106.      = G    .      .    640x400     16      .    .  Tecmar VGA/AD
  1107.  15h = G  80x25     8x14  640x350      .      .    .  Lava Chrome II EGA
  1108.  16h = G  80x25     8x14  640x350      .      .    .  Lava Chrome II EGA
  1109.      = G    .      .    800x600     16      .    .  Tecmar VGA/AD
  1110.  17h = T 132x25      .      .      .      .    .  Tecmar VGA/AD
  1111.      = T  80x43     8x8   640x348     16      4   B800 Tseng ET4000 BIOS [10]
  1112.      = G  80x34     8x14  640x480      .      .    .  Lava Chrome II EGA
  1113.  18h = T  80x30     9x16  720x480     16      1   A000 Realtek RTVGA [12]
  1114.      = T 132x25      .      .    mono      .   B000 Cirrus 5320 chipset
  1115.      = T 132x44     8x8  1056x352    mono      .   B000 Tseng Labs EVA
  1116.      = T 132x44     9x8  1188x352     4gray      2   B000 Tseng ET3000 chipset
  1117.      = T 132x44     8x8  1056x352     16/256      2   B000 Tseng ET4000 chipset
  1118.      = G  80x34     8x14  640x480      .      .    .  Lava Chrome II EGA
  1119.      = G          1024x768     16      .    .  Tecmar VGA/AD
  1120.  19h = T  80x43     9x11  720x473     16      1   A000 Realtek RTVGA [12]
  1121.      = T 132x25     8x14 1056x350    mono      .   B000 Tseng Labs EVA
  1122.      = T 132x25     9x14 1188x350     4gray      4   B000 Tseng ET3000 chipset
  1123.      = T 132x25     8x14 1056x350     16/256      4   B000 Tseng ET4000 chipset
  1124.      = T 132x34      .      .    mono      .   B000 Cirrus 5320 chipset
  1125.  1Ah = T  80x60     9x8   720x480     16      1   A000 Realtek RTVGA [12]
  1126.      = T 132x28     8x13 1056x364    mono      .   B000 Tseng Labs EVA
  1127.      = T 132x28     9x13 1188x364     4gray      4   B000 Tseng ET3000 chipset
  1128.      = T 132x28     8x13 1056x364     16/256      4   B000 Tseng ET4000 chipset
  1129.      = T 132x44      .      .    mono      .   B000 Cirrus 5320 chipset
  1130.      = G    .      .    640x350    256      .    .  Tecmar VGA/AD
  1131.  1Bh = T 132x25     9x14 1188x350     16      1   A000 Realtek RTVGA [12]
  1132.      = G    .      .    640x400    256      .    .  Tecmar VGA/AD
  1133.  1Ch = T 132x25      .      .      .      .    .  Cirrus 5320 chipset
  1134.      = T 132x30     9x16 1188x480     16      1   A000 Realtek RTVGA [12]
  1135.      = G    .      .    640x480    256      .    .  Tecmar VGA/AD
  1136.  1Dh = T 132x43      .      .      .      .    .  Cirrus 5320 chipset
  1137.      = T 132x43     9x11 1188x473     16      1   A000 Realtek RTVGA [12]
  1138.      = G    .      .    800x600    256      .    .  Tecmar VGA/AD
  1139.  1Eh = T 132x44      .      .      .      .    .  Cirrus 5320 chipset
  1140.      = T 132x60     9x8  1188x480     16      1   A000 Realtek RTVGA [12]
  1141.  1Fh = G 100x75     8x8   800x600     16      1   A000 Realtek RTVGA
  1142.  20h = T 132x25      .      .     16      .    .  Avance Logic AL2101
  1143.      = G  40x16      .    240x128    mono      .   B000 HP 95LX/100LX/200LX
  1144.      = G  80x30     8x16  640x480     16      .    .  C&T 64310/65530 BIOS
  1145.      = G 120x45     8x16  960x720     16      1   A000 Realtek RTVGA
  1146.  21h = T  80x25      .      .    mono      .   B000 HP 200LX
  1147.      = T 132x30      .      .     16      .    .  Avance Logic AL2101
  1148.      = T 132x44     9x9  1188x396     16/256K  .   B800 WD90C
  1149.      = T 132x44     9x9  1188x396     16      .   B800 Diamond Speedstar 24X
  1150.      = T 132x60      .      .     16      2   B800 Tseng ET4000 chipset [10]
  1151.      = G  80x43     8x8   720x348    mono      .   B000 DESQview 2.x+Hercules [4]
  1152.      = G 128x48     8x16 1024x768     16      1   A000 Realtek RTVGA [12]
  1153.  22h = T 132x43      .      .      .      .    .  Allstar Peacock (VGA)
  1154.      = T 132x43      .      .     16      .    .  Avance Logic AL2101
  1155.      = T 132x44     8x8  1056x352      .      .   B800 Tseng Labs EVA
  1156.      = T 132x44     9x8  1188x352     16/256K  2   B800 Tseng ET3000 chipset
  1157.      = T 132x44     8x8  1056x352     16/256K  2   B800 Tseng ET4000 chipset
  1158.      = T 132x44     8x8  1056x352      .      .    .  Ahead Systems EGA2001
  1159.      = T 132x44     8x8  1056x352     16      2   B800 Ahead B
  1160.      = T 132x44     8x9  1056x398     16      .    .  STB Lightspeed ET4000/W32P
  1161.      = T 132x44      .      .     16      .    .  Orchid Prodesigner VGA
  1162.      = G  80x43     8x8   720x348    mono      .   B800 DESQview 2.x+Hercules [4]
  1163.      = G  96x64     8x16  768x1024     16      1   A000 Realtek RTVGA
  1164.      = G 100x37     8x16  800x600     16      .    .  C&T 64310/65530 BIOS
  1165.  23h = T 132x25     6x14  792x350      .      .   B800 Tseng Labs EVA
  1166.      = T 132x25     9x14 1188x350     16/256K  4   B800 Tseng ET3000 chipset
  1167.      = T 132x25     8x14 1056x350     16/256      4   B800 Tseng ET4000 chipset
  1168.      = T 132x25     8x14 1056x350      .      .    .  Ahead Systems EGA2001
  1169.      = T 132x25     8x14 1056x350     16      4   B800 Ahead B
  1170.      = T 132x25     8x8  1056x200     16      .   B800 ATI EGA Wonder,ATI VIP
  1171.      = T 132x25      .      .      .      .    .  Cirrus 5320 chipset
  1172.      = T 132x28      .      .      .      .    .  Allstar Peacock (VGA)
  1173.      = T 132x28      .      .     16      .    .  Orchid Prodesigner VGA
  1174.      = T 132x60      .      .     16      .    .  Avance Logic AL2101
  1175.      = G 128x48     8x16 1024x768      4      1   A000 Realtek RTVGA
  1176.  24h = T  80x30      .      .     16      .    .  Avance Logic AL2101
  1177.      = T 132x25      .      .      .      .    .  Allstar Peacock (VGA)
  1178.      = T 132x25      .      .     16      .    .  Orchid Prodesigner VGA
  1179.      = T 132x28     6x13  792x364      .      .   B800 Tseng Labs EVA
  1180.      = T 132x28     9x13 1188x364     16/256K  4   B800 Tseng ET3000 chipset
  1181.      = T 132x28     8x12 1056x336     16      1   B800 Ahead B
  1182.      = T 132x28     8x13 1056x364     16/256K  4   B800 Tseng ET4000 chipset
  1183.      = T 132x28     8x14 1056x392     16      .    .  STB Lightspeed ET4000/W32P
  1184.      = T 132x28      .      .      .      .    .  Cirrus 5320 chipset
  1185.      = G  64x32     8x16  512x512    256      1   A000 Realtek RTVGA
  1186.      = G 128x48     8x16 1024x768     16      .    .  C&T 64310/65530 BIOS
  1187.  25h = T  80x43      .      .     16      .    .  Avance Logic AL2101
  1188.      = G  80x60     8x8   640x480      .      .   A000 Tseng Labs EVA
  1189.      = G  80x60     8x8   640x480     16/256K  1   A000 Tseng ET3000/4000 chipset
  1190.      = G    .      .    640x480     16      .    .  VEGA VGA
  1191.      = G  80x60     8x8   640x480     16      .   A000 Orchid Prodesigner VGA
  1192.      = G  80x60     8x8   640x480     16      1   A000 Ahead B (same as 26h)
  1193.      = G    .      .    640x480     16      .    .  NEC GB-1
  1194.      = G    .      .    640x480     16      .    .  Cirrus 5320 chipset
  1195.      = G    .      .    640x400    256      .    .  Realtek RTVGA
  1196.  26h = T  80x60     8x8   640x480      .      .    .  Tseng Labs EVA
  1197.      = T  80x60     8x8   640x480     16/256K  3   B800 Tseng ET3000/4000 chipset
  1198.      = T  80x60      .      .      .      .    .  Allstar Peacock (VGA)
  1199.      = T  80x60      .      .     16      .    .  Orchid ProDesigner VGA
  1200.      = T  80x60      .      .     16      .    .  Avance Logic AL2101
  1201.      = G  80x60     8x8   640x480      .      .    .  Ahead Systems EGA2001
  1202.      = G  80x60     8x8   640x480     16      1   A000 Ahead B (same as 25h)
  1203.      = G    .      .    640x480    256      .    .  Realtek RTVGA
  1204.  27h = T 132x25     8x8  1056x200    mono      .   B000 ATI EGA Wonder,ATI VIP
  1205.      = G    .      .    720x512     16      .    .  VEGA VGA
  1206.      = G    .      .    720x512     16      .    .  Genoa
  1207.      = G 100x75     8x8   800x600    256      1   A000 Realtek RTVGA [12]
  1208.      = G    .      .    960x720     16      .    .  Avance Logic AL2101
  1209.  28h = T ???x???  .      .      .      .    .  VEGA VGA
  1210.      = G    .      .    512x512    256      .    .  Avance Logic AL2101
  1211.      = G    .      .   1024x768    256      .    .  Realtek RTVGA (1meg)
  1212.      = G 160x64     8x16 1280x1024     16      .    .  Chips&Technologies 64310 [1]
  1213.  29h = G    .      .    640x400    256      .    .  Avance Logic AL2101
  1214.      = G    .      .    800x600     16      .    .  VEGA VGA
  1215.      = G 100x37     8x16  800x600     16      .   A000 Orchid
  1216.      = G    .      .    800x600     16      .   A000 STB,Genoa,Sigma
  1217.      = G    .      .    800x600     16      .    .  Allstar Peacock (VGA)
  1218.      = G 100x37     8x16  800x600     16/256K  1   A000 Tseng ET3000/4000 chipset
  1219.      = G    .      .    800x600    ???      .    .  EIZO MDB10
  1220.      = G    .      .    800x600     16      .    .  Cirrus 5320 chipset
  1221.      = G   NA      .    800x600     16      .    .  Compaq QVision 1024/1280
  1222.      = G    .      .   1024x1024 256      .    .  Realtek RTVGA BIOS v3.C10
  1223.  2Ah = T 100x40      .      .      .      .    .  Allstar Peacock (VGA)
  1224.      = T 100x40     8x16  800x640     16      .    .  Orchid Prodesigner VGA
  1225.      = T 100x40     8x15  800x600     16/256K  4   B800 Tseng ET3000/4000 chipset
  1226.      = T 100x40     8x15  800x600     16      .    .  STB Lightspeed ET4000/W32P
  1227.      = G    .      .    640x480    256      .    .  Avance Logic AL2101
  1228.      = G    .      .   1280x1024     16      .    .  Realtek RTVGA
  1229.  2Bh = G    .      .    800x600     16      .    .  Avance Logic AL2101
  1230.  2Ch = G    .      .    800x600    256      .    .  Avance Logic AL2101
  1231.  2Dh = G    .      .    640x350    256      .    .  VEGA VGA
  1232.      = G    .      .    640x350    256/256K  .   A000 Orchid, Genoa, STB
  1233.      = G  80x25     8x14  640x350    256/256K  1   A000 Tseng ET3000/4000 chipset
  1234.      = G    .      .    640x350    256      .    .  Cirrus 5320 chipset
  1235.      = G  80x25     8x14  640x350    256      .    .  STB Lightspeed ET4000/W32P
  1236.      = G    .      .    768x1024     16      .    .  Avance Logic AL2101
  1237.  2Eh = G    .      .    640x480    256      .    .  VEGA VGA
  1238.      = G  80x30     8x16  640x480 256/256K      .   A000 Orchid
  1239.      = G    .      .    640x480 256/256K      .   A000 STB,Genoa,Sigma
  1240.      = G  80x30     8x16  640x480 256/256K      1   A000 Tseng ET3000/4000 chipset
  1241.      = G    .      .    640x480 256/256K      .    .  Compaq QVision 1024/1280
  1242.      = G    .      .    768x1024 256      .    .  Avance Logic AL2101
  1243.  2Fh = T 160x50     8x8  1280x400     16      4   B800 Ahead B (Wizard/3270)
  1244.      = G    .      .    720x512    256      .    .  VEGA VGA
  1245.      = G    .      .    720x512    256      .    .  Genoa
  1246.      = G  80x25     8x16  640x400 256/256K      1   A000 Tseng ET4000 chipset
  1247.      = G    .      .   1024x768      4      .    .  Avance Logic AL2101
  1248.  30h = G  80x30     8x16  640x480    256      .    .  C&T 64310/65530 BIOS
  1249.      = G    .      .      .      .      .   B800 AT&T 6300
  1250.      = G    .      .    720x350      2      .    .  3270 PC
  1251.      = G    .      .    800x600    256      .    .  VEGA VGA
  1252.      = G 100x37     8x16  800x600 256/256K      .   A000 Orchid
  1253.      = G    .      .    800x600 256/256K      .   A000 STB,Genoa,Sigma
  1254.      = G    .      .    800x600    256      .    .  Cardinal
  1255.      = G 100x37     8x16  800x600 256/256K      1   A000 Tseng ET3000/4000 chipset
  1256.      = G    .      .   1024x768     16      .    .  Avance Logic AL2101
  1257.  31h = G    .      .   1024x768    256      .    .  Avance Logic AL2101
  1258.  32h = T  80x34     8x10      .     16      4   B800 Ahead B (Wizard/3270)
  1259.      = G    .      .    640x480    256      .    .  Compaq QVision 1024/1280
  1260.      = G 100x37     8x16  800x600    256      .    .  C&T 64310/65530 BIOS
  1261.  33h = T 132x44     8x8      .     16      .   B800 ATI EGA Wonder,ATI VIP
  1262.      = T  80x34     8x8      .     16      4   B800 Ahead B (Wizard/3270)
  1263.  34h = T  80x66     8x8      .     16      4   B800 Ahead B (Wizard/3270)
  1264.      = G    .      .    800x600    256      .    .  Compaq QVision 1024/1280
  1265.      = G 128x48     8x16 1024x768    256      .    .  Chips&Technologies 64310
  1266.  36h = G    .      .    960x720     16      .    .  VEGA VGA, STB
  1267.      = G    .      .    960x720     16      .   A000 Tseng ET3000 only
  1268.      = G    .      .   1280x1024     16      .    .  Avance Logic AL2101
  1269.  37h = T 132x44     8x8      .    mono      .   B800 ATI EGA Wonder,ATI VIP
  1270.      = G    .      .   1024x768     16      .    .  VEGA VGA
  1271.      = G 128x48     8x16 1024x768     16      .   A000 Orchid
  1272.      = G    .      .   1024x768     16      .   A000 STB,Genoa,Sigma
  1273.      = G    .      .   1024x768     16      .    .  Definicon
  1274.      = G 128x48     8x16 1024x768     16      1   A000 Tseng ET3000/4000 chipset
  1275.      = G    .      .   1024x768     16      .    .  Compaq QVision 1024/1280
  1276.      = G    .      .   1280x1024 256      .    .  Avance Logic AL2101
  1277.  38h = G    .      .   1024x768    256      .    .  STB VGA/EM-16 Plus (1MB)
  1278.      = G 128x48     8x16 1024x768    256/256K  1   A000 Tseng ET4000 chipset
  1279.      = G    .      .   1024x768    256      .    .  Orchid ProDesigner II
  1280.      = G    .      .   1024x768    256      .    .  Compaq QVision 1024/1280
  1281.      = G 160x64     8x16 1280x1024    256      .    .  Chips&Technologies 64310 [1]
  1282.  39h = G    .      .   1280x1024     16      .    .  Compaq QVision 1280
  1283.  3Ah = G    .      .   1280x1024    256      .    .  Compaq QVision 1280
  1284.  3Bh = G    .      .    512x480    256      .    .  Compaq QVision 1024/1280
  1285.  3Ch = G    .      .    640x400     64K      .    .  Compaq QVision 1024/1280
  1286.  3Dh = G    .      .   1280x1024     16      .    .  Definicon
  1287.      = G 128x64     8x16 1280x1024     16      1   A000 Tseng ET4000 v3.00 [1,7]
  1288.  3Eh = G    .      .   1280x961     16      .    .  Definicon
  1289.      = G    .      .    640x480     64K      .    .  Compaq QVision 1024/1280
  1290.  3Fh = G    .      .   1280x1024 256      .    .  Hercules ??? (ET4000W32)
  1291.      = G    .      .    800x600     64K      .    .  Compaq QVision 1024/1280
  1292.  40h = T  80x43      .      .      .      .    .  VEGA VGA, Tecmar VGA/AD
  1293.      = T  80x43      .      .      .      .    .  Video7 V-RAM VGA
  1294.      = T  80x43      .      .      .      .    .  Tatung VGA
  1295.      = T 100x30      .      .     16      .    .  MORSE VGA
  1296.      = T 100x30      .      .      .      .    .  Cirrus 510/520 chipset
  1297.      = T  80x25      .    720x350    mono      .    .  Genoa SuperEGA BIOS 3.0+
  1298.      = G    .      .    320x200     64K      .    .  Avance Logic AL2101
  1299.      = G  80x25     8x16  640x400      2      1   B800 AT&T 6300, AT&T VDC600
  1300.      = G  80x25     8x16  640x400      2      1   B800 Olivetti Quaderno
  1301.      = G  80x25     8x16  640x400      2      1   B800 Compaq Portable
  1302.      = G  80x30     8x16  640x480    32K      .    .  Chips&Technologies 64310
  1303.      = G    .      .   1024x768     64K      .    .  Compaq QVision 1280
  1304.  41h = T 132x25      .      .      .      .    .  VEGA VGA
  1305.      = T 132x25      .      .      .      .    .  Tatung VGA
  1306.      = T 132x25      .      .      .      .    .  Video7 V-RAM VGA
  1307.      = T 100x50      .      .     16      .    .  MORSE VGA
  1308.      = T 100x50      .      .      .      .    .  Cirrus 510/520 chipset
  1309.      = T  80x34     9x14  720x476     16/256K  .   B800 WD90C
  1310.      = T  80x34     9x14      .     16      .   B800 Diamond Speedstar 24X
  1311.      = G    .      .    512x512     64K      .    .  Avance Logic AL2101
  1312.      = G    .      .    640x200     16      1    .  AT&T 6300
  1313.      = G  80x30     8x16  640x480     64K      .    .  Chips&Technologies 64310
  1314.      = G  80x25      .    720x348    mono      .   B000 Genoa SuperEGA BIOS 3.0+
  1315.  42h = T 132x43      .      .      .      .    .  VEGA VGA
  1316.      = T 132x43      .      .      .      .    .  Tatung VGA
  1317.      = T 132x43      .      .      .      .    .  Video7 V-RAM VGA
  1318.      = T  80x34     9x10      .      4      4   B800 Ahead B (Wizard/3270)
  1319.      = T 100x60      .      .     16      .    .  MORSE VGA
  1320.      = T 100x60      .      .      .      .    .  Cirrus 510/520 chipset
  1321.      = G  80x25     8x16  640x400     16      .    .  AT&T 6300, AT&T VDC600
  1322.      = G    .      .    640x400     64K      .    .  Avance Logic AL2101
  1323.      = G  80x25      .    720x348    mono      .   B800 Genoa SuperEGA BIOS 3.0+
  1324.      = G 100x37     8x16  800x600     32K      .    .  Chips&Technologies 64310
  1325.  43h = T  80x60      .      .      .      .    .  VEGA VGA
  1326.      = T  80x60      .      .      .      .    .  Tatung VGA
  1327.      = T  80x60      .      .      .      .    .  Video7 V-RAM VGA
  1328.      = T  80x45     9x8      .      4      4   B800 Ahead B (Wizard/3270)
  1329.      = T 100x75      .      .     16      .    .  MORSE VGA
  1330.      = T  80x29      .    720x348    mono      .    .  Genoa SuperEGA BIOS 3.0+
  1331.      = G    .      . 640x200 of 640x400 viewport       AT&T 6300 (unsupported)
  1332.      = G    .      .    640x480     64K      .    .  Avance Logic AL2101
  1333.      = G 100x37     8x16  800x600     64K      .    .  Chips&Technologies 64310
  1334.  44h =    disable VDC and DEB output        .  AT&T 6300
  1335.      = T 100x60      .      .      .      .    .  VEGA VGA
  1336.      = T 100x60      .      .      .      .    .  Tatung VGA
  1337.      = T 100x60      .      .      .      .    .  Video7 V-RAM VGA
  1338.      = T  80x32      .    720x352    mono      .    .  Genoa SuperEGA BIOS 3.0+
  1339.      = G    .      .    800x600     64K      .    .  Avance Logic AL2101
  1340.  45h = T 132x28      .      .      .      .    .  Tatung VGA
  1341.      = T 132x28      .      .      .      .    .  Video7 V-RAM VGA
  1342.      = T  80x44      .    720x352    mono      .    .  Genoa SuperEGA BIOS 3.0+
  1343.  46h = T 132x25     8x14      .    mono      .    .  Genoa 6400
  1344.      = T 132x25     9x14      .    mono      .    .  Genoa SuperEGA BIOS 3.0+
  1345.      = G 100x40     8x15  800x600      2      .    .  AT&T VDC600
  1346.  47h = T 132x29     8x12      .    mono      .    .  Genoa 6400
  1347.      = T 132x29     9x12      .    mono      .    .  Genoa SuperEGA BIOS 3.0+
  1348.      = T 132x28     9x16 1188x448     16/256K  .   B800 WD90C
  1349.      = T 132x28     9x16      .     16      .   B800 Diamond Speedstar 24X
  1350.      = G 100x37     8x16  800x600     16      .    .  AT&T VDC600
  1351.  48h = T 132x32     8x12      .    mono      .    .  Genoa 6400
  1352.      = T 132x32     9x11      .    mono      .    .  Genoa SuperEGA BIOS 3.0+
  1353.      = G  80x50     8x8   640x400      2      .   B800 AT&T 6300, AT&T VDC600
  1354.      = G  80x50     8x8   640x400      2      .   B800 Olivetti Quaderno
  1355.  49h = T 132x44     8x8      .    mono      .    .  Genoa 6400
  1356.      = T 132x44     9x8      .    mono      .    .  Genoa SuperEGA BIOS 3.0+
  1357.      = G  80x30     8x16  640x480      .      .    .  Lava Chrome II EGA
  1358.      = G  80x30     8x16  640x480      .      .   A000 Diamond Stealth64 Video 2xx1
  1359.  4Bh = G 100x37     8x16  800x600      .      .   A000 Diamond Stealth64 Video 2xx1
  1360.  4Dh = T 120x25      .      .      .      .    .  VEGA VGA
  1361.      = G    .      .    512x480     16M      .    .  Compaq QVision 1024/1280
  1362.      = G 128x48     8x16 1024x768      .      .   A000 Diamond Stealth64 Video 2xx1
  1363.  4Eh = T 120x43      .      .      .      .    .  VEGA VGA
  1364.      = T  80x60     8x8      .     16/256K  .   B800 Oak OTI-067/OTI-077 [8]
  1365.      = G    .      .    640x400     16M      .    .  Compaq QVision 1024/1280
  1366.      = G 144x54     8x16 1152x864      .      .   A000 Diamond Stealth64 Video 2xx1
  1367.  4Fh = T 132x25      .      .      .      .    .  VEGA VGA
  1368.      = T 132x60      .      .      .      .    .  some Oak Tech VGA [8]
  1369.      = G    .      .    640x480     16M      .    .  Compaq QVision 1280
  1370.  50h = T  80x30     8x16      .     16/256K  .   B800 Trident TVGA 8800/8900
  1371.      = T  80x34      .      .      .      .    .  Lava Chrome II EGA
  1372.      = T  80x43      .      .    mono      .    .  VEGA VGA
  1373.      = T 132x25     9x14      .    mono      .    .  Ahead Systems EGA2001
  1374.      = T 132x25     9x14      .      4      4   B800 Ahead B
  1375.      = T 132x25     8x14      .     16      8   B800 OAK Technologies VGA-16
  1376.      = T 132x25     8x14      .     16/256K  .   B800 Oak OTI-037/067/077 [8]
  1377.      = T 132x25     8x14 1056x350     16      8   B800 UM587 chipset
  1378.      = T 132x30      .      .     16      .    .  MORSE VGA
  1379.      = T 132x30      .      .      .      .    .  Cirrus 510/520 chipset
  1380.      = G  80x30     8x16  640x480     16      .    .  Paradise EGA-480
  1381.      = G  80x30     8x16  640x480     16      .    .  NEL Electronics BIOS
  1382.      = G  80x30     8x16  640x480     16M      .    .  Chips&Technologies 64310
  1383.      = G    .      .    640x480    mono???      .    .  Taxan 565 EGA
  1384.      = G  40x25     8x8   320x200      .      .    .  Genoa SuperEGA BIOS 3.0+
  1385.  51h = T  80x30     8x16      .      .      .    .  Paradise EGA-480
  1386.      = T  80x30     9x16      .      .      .    .  NEL Electronics BIOS
  1387.      = T  80x30      .      .      .      .    .  Lava Chrome II EGA
  1388.      = T  80x43     8x11      .     16/256K  .   B800 Trident TVGA 8800/8900
  1389.      = T 132x25      .      .    mono      .    .  VEGA VGA
  1390.      = T 132x28     9x12      .      4      4   B800 Ahead B
  1391.      = T 132x43     8x8      .     16      5   B800 OAK Technologies VGA-16
  1392.      = T 132x43     8x8      .     16/256K  .   B800 Oak OTI-037/067/077
  1393.      = T 132x43     8x8  1056x344     16      5   B800 UM587 chipset
  1394.      = T 132x50      .      .     16      .    .  MORSE VGA
  1395.      = T 132x50      .      .      .      .    .  Cirrus 510/520 chipset
  1396.      = G  80x34     8x14  640x480     16      .    .  ATI EGA Wonder
  1397.      = G  80x25     8x8   640x200      .      .    .  Genoa SuperEGA BIOS 3.0+
  1398.  52h = T  80x60      .      .      .      .    .  Lava Chrome II EGA
  1399.      = T  80x60     8x8      .     16/256K  .   B800 Trident TVGA 8800/8900
  1400.      = T 132x43      .      .    mono      .    .  VEGA VGA
  1401.      = T 132x44     9x8      .    mono      .    .  Ahead Systems EGA2001
  1402.      = T 132x44     9x8      .      4      2   B800 Ahead B
  1403.      = T 132x60      .      .     16      .    .  MORSE VGA
  1404.      = T 132x60      .      .      .      .    .  Cirrus 510/520 chipset
  1405.      = G  80x25     8x19  640x480     16      1   A000 AX VGA (Kanji&superimpose)
  1406.      = G  94x29     8x14  752x410     16      .    .  ATI EGA Wonder
  1407.      = G 100x75     8x8   800x600     16      1   A000 OAK Technologies VGA-16
  1408.      = G 100x75     8x8   800x600     16      .   A000 Oak OTI-037 chipset [8]
  1409.      = G 100x37     8x16  800x600     16      .   A000 Oak OTI-067/077 chips [8]
  1410.      = G 100x75     8x8   800x600     16      .   A000 UM587 chipset
  1411.      = G 128x30     8x16 1024x480     16      .    .  NEL Electronics BIOS
  1412.  53h = T  80x25     8x16      .      .      .    .  NEL Electronics BIOS
  1413.      = T  80x60      .      .     16      .    .  MORSE VGA
  1414.      = T  80x60      .      .      .      .    .  Cirrus 510/520 chipset
  1415.      = T 132x25     8x14      .     16/256K  .   B800 Trident TVGA 8800/8900
  1416.      = T 132x43      .      .      .      .    .  Lava Chrome II EGA
  1417.      = G  80x25     8x19  640x480     16      1   A000 AX VGA (Kanji, no superimp.)
  1418.      = G    .      .    640x480    256      .    .  Oak VGA
  1419.      = G  80x30     8x16  640x480    256      .   A000 Oak OTI-067/OTI-077 [8]
  1420.      = G 100x40     8x14  800x560     16      .    .  ATI EGA Wonder,ATI VIP
  1421.      = G    .      .      .      .      .    .  AX PC
  1422.  54h = T 132x25      .      .      .      .    .  Lava Chrome II EGA
  1423.      = T 132x30     8x16      .     16/256K  .   B800 Trident TVGA 8800/8900
  1424.      = T 132x43     8x8      .      .      .    .  Paradise EGA-480
  1425.      = T 132x43     8x8      .      .      .    .  NEL Electronics BIOS
  1426.      = T 132x43     7x9      .     16/256K  .   B800 Paradise VGA
  1427.      = T 132x43     8x9      .     16/256K  .   B800 Paradise VGA on multisync
  1428.      = T 132x43      .      .      .      .    .  Taxan 565 EGA
  1429.      = T 132x43      .      .      .      .    .  AST VGA Plus
  1430.      = T 132x43      .      .      .      .    .  Hewlett-Packard D1180A
  1431.      = T 132x43     7x9      .     16      .    .  AT&T VDC600
  1432.      = T 132x43     9x9  1188x387     16/256K  .   B800 WD90C
  1433.      = T 132x43     9x9  1188x387     16/256K  .   B800 Diamond Speedstar 24X
  1434.      = T 132x43     9x9  1188x387     16/256K  .   B800 Diamond Stealth 24
  1435.      = T 132x43     8x8      .      .      .   B800 Diamond Stealth64 Video 2xx1
  1436.      = T 132x43     8x8  1056x350     16/256K  .    .  Cirrus CL-GD5420/5422/5426
  1437.      = T 132x50     8x8      .     16      .   A000 NCR 77C22 [9]
  1438.      = G 100x42     8x14  800x600     16      .   A000 ATI EGA Wonder, VGA Wonder
  1439.      = G 100x42     8x14  800x600     16      .   A000 ATI Ultra 8514A, ATI XL
  1440.      = G    .      .    800x600    256      .   A000 Oak VGA
  1441.      = G 100x37     8x16  800x600    256      .   A000 Oak OTI-067/077 chips [8]
  1442.  55h = T  80x66     8x8      .     16/256K  .   A000 ATI VIP
  1443.      = T 132x25     8x14      .      .      .    .  Paradise EGA-480
  1444.      = T 132x25     8x14      .      .      .    .  NEL Electronics BIOS
  1445.      = T 132x25     7x16      .     16/256K  .   B800 Paradise VGA
  1446.      = T 132x25     8x16      .     16/256K  .   B800 Paradise VGA on multisync
  1447.      = T 132x25      .      .      .      .    .  Taxan 565 EGA
  1448.      = T 132x25      .      .      .      .    .  AST VGA Plus
  1449.      = T 132x25      .      .      .      .    .  Hewlett-Packard D1180A
  1450.      = T 132x25     7x16      .     16      .    .  AT&T VDC600
  1451.      = T 132x25     8x16      .     16      .   A000 NCR 77C22 [9]
  1452.      = T 132x25     9x16 1188x400     16/256K  .   B800 WD90C
  1453.      = T 132x25     9x16 1188x400     16/256K  .   B800 Diamond Speedstar 24X
  1454.      = T 132x25     9x16 1188x400     16/256K  .   B800 Diamond Stealth 24
  1455.      = T 132x25     8x16      .      .      .   B800 Diamond Stealth64 Video 2xx1
  1456.      = T 132x25     8x14 1056x350     16/256K  .    .  Cirrus CL-GD5420/5422/5426
  1457.      = T 132x43     8x11      .     16/256K  .   B800 Trident TVGA 8800/8900
  1458.      = G  94x29     8x14  752x410      .      .    .  Lava Chrome II EGA
  1459.      = G 128x48     8x16 1024x768     16/256K  .   A000 ATI VGA Wonder v4+  [5]
  1460.      = G    .      .   1024x768     16/256K  .    .  ATI VGA Wonder Plus
  1461.      = G    .      .   1024x768     16/256K  .    .  ATI Ultra 8514A,ATI XL
  1462.      = G 128x48     8x16 1024x768      4      .   A000 Oak OTI-067/077 chips [8]
  1463.  56h = T 132x43     8x8      .      3???      2   B000 NSI Smart EGA+
  1464.      = T 132x43     7x9      .      4      .   B000 Paradise VGA
  1465.      = T 132x43     8x9      .      4      .   B000 Paradise VGA on multisync
  1466.      = T 132x43      .      .    mono      .    .  Taxan 565 EGA
  1467.      = T 132x43     7x9      .      2      .    .  AT&T VDC600
  1468.      = T 132x43     9x8      .      .      .    .  NEL Electronics BIOS
  1469.      = T 132x50     8x8      .      4      .   A000 NCR 77C22 [9]
  1470.      = T 132x60     8x8      .     16/256K  .   B800 Trident TVGA 8800/8900
  1471.      = G    .      .   1024x768     16      .   A000 Oak VGA
  1472.      = G 128x48     8x16 1024x768     16      .   A000 Oak OTI-067/077 chips [8]
  1473.  57h = T 132x25     8x14      .      3???      4   B000 NSI Smart EGA+
  1474.      = T 132x25     7x16      .      4      .   B000 Paradise VGA
  1475.      = T 132x25     8x16      .      4      .   B000 Paradise VGA on multisync
  1476.      = T 132x25     9x14      .      .      .    .  NEL Electronics BIOS
  1477.      = T 132x25      .      .    mono      .    .  Taxan 565 EGA
  1478.      = T 132x25     7x16      .      2      .    .  AT&T VDC600
  1479.      = T 132x25     9x14      .     16/256K  .   B800 Trident TVGA 8800/8900
  1480.      = T 132x25     8x16      .      4      .   A000 NCR 77C22 [9]
  1481.      = G  96x48     8x16  768x1024     16      .   A000 Oak OTI-067/077 chips [8]
  1482.  58h = T  80x33     8x14      .     16      .   B800 ATI EGA Wonder,ATI VIP
  1483.      = T  80x32     9x16      .     16      .    .  Genoa 6400
  1484.      = T  80x43     8x8      .      .      .    .  NEL Electronics BIOS
  1485.      = T 132x30     9x16      .     16/256K  .   B800 Trident TVGA 8800/8900
  1486.      = G 100x75     8x8   800x600     16/256K  .   A000 Paradise VGA
  1487.      = G 100x75     8x8   800x600     16      .    .  AT&T VDC600
  1488.      = G 100x75     8x8   800x600     16      .   A000 NCR 77C22 [9]
  1489.      = G 100x75     8x8   800x600     16      .   A000 Diamond Speedstar 24X
  1490.      = G 100x75     8x8   800x600     16/256K  .   A000 Paradise VGA, WD90C
  1491.      = G    .      .    800x600     16      .    .  AST VGA Plus, Compaq VGA
  1492.      = G    .      .    800x600     16      .    .  Dell VGA
  1493.      = G    .      .    800x600     16      .    .  Hewlett-Packard D1180A
  1494.      = G    .      .    800x600    ???      .    .  ELT VGA PLUS 16
  1495.      = G 100x37     8x16  800x600     16/256K  .   A000 Cirrus CL-GD5420/5422/5426
  1496.      = G 160x64     8x16 1280x1024     16      .   A000 Oak OTI-077 chipset [8]
  1497.  59h = T  80x43     9x8      .      .      .    .  NEL Electronics BIOS
  1498.      = T  80x66     8x8      .     16/256K  .   A000 ATI VIP
  1499.      = T 132x43     9x11      .     16/256K  .   B800 Trident TVGA 8800/8900
  1500.      = G 100x75     8x8   800x600      2      .   A000 Paradise VGA
  1501.      = G 100x75     8x8   800x600      2      .    .  AT&T VDC600
  1502.      = G    .      .    800x600      2      .    .  AST VGA Plus, Compaq VGA
  1503.      = G    .      .    800x600      2      .    .  Dell VGA
  1504.      = G    .      .    800x600      2      .    .  Hewlett-Packard D1180A
  1505.      = G 100x75     8x8   800x600      2      .   A000 NCR 77C22 [9]
  1506.      = G 128x48     8x16 1024x768    256      .   A000 Oak OTI-077 chipset [8]
  1507.  5Ah = T  80x60     8x8      .      .      .    .  NEL Electronics BIOS
  1508.      = T 132x60     9x8      .     16/256K  .   B800 Trident TVGA 8800/8900
  1509.      = G 128x48     8x16 1024x768      2      .   A000 NCR 77C22 [9]
  1510.  5Bh = T  80x30     8x16      .      .      .   B800 ATI VGA Wonder (undoc)
  1511.      = G    .      .    640x350    256      .    .  Genoa 6400
  1512.      = G  80x25     8x16  640x400     32K      .   A000 Oak OTI-067/077 chips [8]
  1513.      = G    .      .    800x600     16      .    .  Maxxon, SEFCO TVGA, Imtec
  1514.      = G 100x75     8x8   800x600     16/256K  .   A000 Trident TVGA 8800, 8900
  1515.      = G    .      .    800x600    ???      .    .  Vobis MVGA
  1516.      = G 100x37     8x16  800x600      .      .    .  NEL Electronics BIOS
  1517.      = G 128x48     8x16 1024x768     16      .   A000 NCR 77C22 [1,9]
  1518.  5Ch = T 100x37     8x16      .      .      .    .  NEL Electronics BIOS
  1519.      = G    .      .    640x400    256      .    .  Logix, ATI Prism Elite
  1520.      = G    .      .    640x400    256      .    .  Maxxon, SEFCO TVGA, Imtec
  1521.      = G  80x25     8x16  640x400    256/256K  .   A000 Zymos Poach, Hi Res 512
  1522.      = G  80x25     8x16  640x400    256/256K  .   A000 Trident TVGA 8800/8900
  1523.      = G  80x30     8x16  640x480    256      .    .  Genoa 6400
  1524.      = G  80x30     8x16  640x480     32K      .   A000 Oak OTI-077 chipset [8]
  1525.      = G 100x75     8x8   800x600    256      .   A000 NCR 77C22 [9]
  1526.      = G 100x75     8x8   800x600    256/256K  .   A000 WD90C
  1527.      = G 100x75     8x8   800x600    256/256K  .   A000 Diamond Speedstar 24X
  1528.      = G 100x37     8x16  800x600    256/256K  .   A000 Cirrus CL-GD5420/5422/5426
  1529.  5Dh = T 100x75     8x8      .      .      .    .  NEL Electronics BIOS
  1530.      = G  80x25     8x14  640x350     64K      .    .  STB Lightspeed ET4000/W32P
  1531.      = G    .      .    640x480    256      .    .  Logix, ATI Prism Elite
  1532.      = G    .      .    640x480    256      .    .  Maxxon, SEFCO TVGA, Imtec
  1533.      = G  80x30     8x16  640x480    256/256K  .   A000 Zymos Poach, Hi Res 512
  1534.      = G  80x30     8x16  640x480    256/256K  .   A000 Trident TVGA 8800 (512K)
  1535.      = G 128x48     8x16 1024x768     16      .   A000 NCR 77C22 [9]
  1536.      = G 128x48     8x16 1024x768     16/256K  .   A000 WD90C
  1537.      = G 128x48     8x16 1024x768     16      .   A000 Diamond Speedstar 24X
  1538.      = G 128x48     8x16 1024x768     16/256K  .   A000 Cirrus CL-GD5420/5422/5426
  1539.  5Eh = G    .      .    640x400    256      .    .  Paradise VGA,VEGA VGA
  1540.      = G    .      .    640x400    256      .    .  AST VGA Plus, NCR 77C22
  1541.      = G    .      .    640x400    256      .    .  Compaq VGA, Dell VGA
  1542.      = G  80x25     8x16  640x400    256      .    .  AT&T VDC600
  1543.      = G  80x25     8x16  640x400    256      .   A000 NCR 77C22 [9]
  1544.      = G  80x25     8x16  640x400    256/256K  .   A000 WD90C
  1545.      = G  80x25     8x16  640x400    256/256K  .   A000 Diamond Speedstar 24X
  1546.      = G    .      .    800x600     16      .    .  Logix, ATI Prism Elite
  1547.      = G 100x37     8x16  800x600     16      .    .  NEL Electronics BIOS
  1548.      = G 100x75     8x8   800x600    256      .    .  Genoa 6400
  1549.      = G 100x75     8x8   800x600    256/256K  .   A000 Zymos Poach, Trident 8900
  1550.      = G 100x75     8x8   800x600    256/256K  .   A000 Hi Res 512
  1551.  5Fh = G  80x25     8x16  640x400     64K      .    .  STB Lightspeed ET4000/W32P
  1552.      = G    .      .    640x480    256      .    .  Paradise VGA
  1553.      = G    .      .    640x480    256      .    .  AST VGA Plus, NCR 77C22
  1554.      = G    .      .    640x480    256      .    .  Compaq VGA, Dell VGA
  1555.      = G    .      .    640x480    256      .    .  Hewlett-Packard D1180A
  1556.      = G  80x30     8x16  640x480    256      .    .  AT&T VDC600 (512K)
  1557.      = G  80x30     8x16  640x480    256      .   A000 NCR 77C22 [9]
  1558.      = G  80x30     8x16  640x480    256/256K  .   A000 WD90C
  1559.      = G  80x30     8x16  640x480    256/256K  .   A000 Diamond Speedstar 24X
  1560.      = G  80x30     8x16  640x480    256/256K  .   A000 Cirrus CL-GD5420/5422/5426
  1561.      = G    .      .   1024x768     16      .    .  Logix, ATI Prism Elite
  1562.      = G    .      .   1024x768     16      .    .  Maxxon, Imtec
  1563.      = G 128x48     8x16 1024x768     16      .    .  Genoa 6400
  1564.      = G 128x48     8x16 1024x768     16/256K  .   A000 Zymos Poach, Hi Res 512
  1565.      = G 128x48     8x16 1024x768     16/256K  .   A000 Trident TVGA 88/8900 512K
  1566.  60h = T 132x25     8x14      .     16/64      8   B800 Quadram Ultra VGA
  1567.      = T 132x25     8x14      .     16      .    .  Genoa 6400
  1568.      = T 132x25     8x14      .     16      .    .  Genoa SuperEGA BIOS 3.0+
  1569.      = T 132x25      .      .      .      .    .  Cirrus 5320 chipset
  1570.      = T 132x25     8x16 1056x400     16      .   B800 Chips&Technologies chipset
  1571.      = G  80x???  .    ???x400      .      .    .  Corona/Cordata BIOS 4.10+
  1572.      = G  80x25     8x16  640x400    256      1   A000 Ahead A, Ahead B
  1573.      = G    .      .    752x410      .      .    .  VEGA VGA
  1574.      = G    .      .    752x410     16      .    .  Tatung VGA
  1575.      = G    .      .    752x410     16      .    .  Video7 V-RAM VGA
  1576.      = G 128x48     8x16 1024x768      4/256K  .   A000 Trident TVGA 8900
  1577.      = G 128x48     8x16 1024x768    256/256K  .   A000 WD90C
  1578.      = G 128x48     8x16 1024x768    256/256K  .   A000 Diamond Speedstar 24X
  1579.      = G 128x48     8x16 1024x768    256/256K  .   A000 Cirrus CL-GD5420/5422/5426
  1580.      = G 144x54     8x16 1152x864      .      .   A000 Diamond Stealth64 Video 2xx1
  1581.  61h = T 132x29     8x12      .     16/64      8   B800 Quadram Ultra VGA
  1582.      = T 132x29     8x8      .     16      .    .  Genoa 6400
  1583.      = T 132x29     8x8      .     16      .    .  Genoa SuperEGA BIOS 3.0+
  1584.      = T 132x50      .      .      .      .    .  Cirrus 5320 chipset
  1585.      = T 132x50     8x8  1056x400     16      .   B800 Chips&Technologies chipset
  1586.      = T 132x50     8x16 1056x800     16      .   B800 Chips&Technologies 64310
  1587.      = G    .      .    ???x400      .      .    .  Corona/Cordata BIOS 4.10+
  1588.      = G  80x25     8x16  640x400    256      .   A000 ATI VGA Wonder,VGA Wonder+
  1589.      = G  80x25     8x16  640x400    256      .   A000 ATI Ultra 8514A,ATI XL
  1590.      = G  80x25     8x16  640x400      .      .   A000 Diamond Stealth64 Video 2xx1
  1591.      = G  80x30     8x16  640x480    256      1   A000 Ahead A, Ahead B (512K)
  1592.      = G    .      .    720x540      .      .    .  VEGA VGA
  1593.      = G    .      .    720x540     16      .    .  Tatung VGA
  1594.      = G    .      .    720x540     16      .    .  Video7 V-RAM VGA
  1595.      = G  96x64     8x16  768x1024     16/256K  .   A000 Trident TVGA 88/8900 512K
  1596.      = G 128x48     8x16 1024x768    256      .   A000 NCR 77C22 [1,9]
  1597.      = G 144x54     8x16 1152x864      .      .   A000 Diamond Stealth64 Video 2xx1
  1598.  62h = T 132x32     8x11      .     16/64      6   B800 Quadram Ultra VGA
  1599.      = T 132x32     8x12      .     16      .    .  Genoa 6400
  1600.      = T 132x32     8x11      .     16      .    .  Genoa SuperEGA BIOS 3.0+
  1601.      = T 132x43     8x8  1056x344     16      .   B800 C&T 82C450 BIOS
  1602.      = G    .      .    640x450     16      .    .  Cirrus 510/520 chipset
  1603.      = G  80x30     8x16  640x480    256      .   A000 ATI VGA Wonder,VGA Wonder+
  1604.      = G  80x30     8x16  640x480    256      .   A000 ATI Ultra 8514A,ATI XL
  1605.      = G  80x30     8x16  640x480    32K      .   A000 WD90C
  1606.      = G  80x30     8x16  640x480    32K      .   A000 Diamond Speedstar 24X
  1607.      = G    .      .    800x600      .      .    .  VEGA VGA
  1608.      = G    .      .    800x600     16      .    .  Tatung VGA
  1609.      = G    .      .    800x600     16      .    .  Video7 V-RAM VGA
  1610.      = G 100x75     8x8   800x600    256      1   A000 Ahead A, Ahead B (512K)
  1611.      = G 128x48     8x16 1024x768    256/256K  .   A000 Trident TVGA 8900, Zymos
  1612.      = G 128x48     8x16 1024x768    256      .   A000 NCR 77C22 [9]
  1613.  63h = T 132x44     8x8      .     16/64      5   B800 Quadram Ultra VGA
  1614.      = T 132x44     8x8      .     16      .    .  Genoa 6400
  1615.      = T 132x44     8x8      .     16      .    .  Genoa SuperEGA BIOS 3.0+
  1616.      = G    .      .    720x540     16      .    .  MORSE VGA
  1617.      = G    .      .    720x540     16      .    .  Cirrus 510/520 chipset
  1618.      = G 100x42     8x14  800x600    256      .   A000 ATI VGA Wonder,VGA Wonder+
  1619.      = G 100x42     8x14  800x600    256      .   A000 ATI Ultra 8514A,ATI XL
  1620.      = G    .      .    800x600    32K      .   A000 WD90C
  1621.      = G    .      .    800x600    32K      .   A000 Diamond Speedstar 24X
  1622.      = G 128x48     7x16 1024x768    256      1   A000 Ahead B (1MB)
  1623.      = G    .      .   1024x768      2      .    .  Video7 V-RAM VGA
  1624.  64h = T 132x60     8x8      .     16      .    .  Genoa 6400
  1625.      = T  80x43     8x8   528x344     16      .   B800 C&T 82C450 BIOS
  1626.      = G    .      .    640x480    64K      .   A000 Cirrus CL-GD 5422/5426
  1627.      = G    .      .    800x600     16      .    .  MORSE VGA
  1628.      = G    .      .    800x600     16      .    .  Cirrus 510/520 chipset
  1629.      = G    .      .    800x600    ???      .    .  SAMPO-Mira VGA
  1630.      = G    .      .   1024x768      4      .    .  Video7 V-RAM VGA
  1631.      = G 128x48     8x16 1024x768    256      .   A000 ATI VGA Wonder Plus,ATI XL
  1632.      = G 160x64     8x16 1280x1024     16/256K  .   A000 WD90C [1]
  1633.      = G 160x64     8x16 1280x1024     16/256K  .   A000 Diamond Speedstar 24X [1]
  1634.  65h = T  80x50     8x8   528x400     16      .   B800 C&T 82C450 BIOS
  1635.      = G    .      .    800x600    64K      .   A000 Cirrus CL-GD 5422/5426
  1636.      = G    .      .   1024x768     16      .    .  Video7 V-RAM VGA
  1637.      = G 128x48     8x16 1024x768     16      .   A000 ATI VGA Wonder
  1638.  66h = T  80x50     8x8   640x400     16/256K  .   B800 WD90C
  1639.      = T  80x50     8x8      .     16      .   B800 Diamond Speedstar 24X
  1640.      = G    .      .    640x400    256      .    .  Tatung VGA
  1641.      = G    .      .    640x400    256      .    .  Video7 V-RAM VGA
  1642.      = G    .      .    640x480    32K      .   A000 Cirrus CL-GD 5422/5426
  1643.  67h = T  80x43     8x8   640x344     16/256K  .   B800 WD90C
  1644.      = T  80x43     8x8      .     16      .   B800 Diamond Speedstar 24X
  1645.      = G    .      .    640x480    256      .    .  Video7 V-RAM VGA
  1646.      = G    .      .    800x600    32K      .   A000 Cirrus CL-GD 5422/5426
  1647.      = G 128x48     8x16 1024x768      4      .   A000 ATI VGA Wonder
  1648.      = G 160x64     8x16 1280x1024     16      .   A000 NCR 77C22 [1,9]
  1649.  68h = G  80x25     8x16  640x400      .      .   A000 Diamond Stealth64 Video 2xx1
  1650.  69h = T 132x50     8x8  1056x400     16/256K  .   B800 WD90C
  1651.      = T 132x50     8x8      .     16      .   B800 Diamond Speedstar 24X
  1652.      = G  80x30     8x16  640x480      .      .   A000 Diamond Stealth64 Video 2xx1
  1653.      = G    .      .    720x540    256      .   A000 Video7 V-RAM VGA
  1654.  6Ah = G    .      .    800x600     16      .   A000 VESA standard interface
  1655.      = G 100x75     8x8   800x600     16      .   A000 Genoa 6400
  1656.      = G 100x75     8x8   800x600     16      .   A000 Diamond Speedstar 24X
  1657.      = G    .      .    800x600     16      .   A000 Ahead A
  1658.      = G 100x75     8x8   800x600     16      1   A000 Ahead B (VESA) [see 71h]
  1659.      = G    .      .    800x600     16      .    .  Zymos Poach, Hi Res 512
  1660.      = G    .      .    800x600     16      .    .  Epson LT-386SX in CRT Mode
  1661.      = G    .      .    800x600     16      .    .  Compuadd 316SL in CRT Mode
  1662.      = G 100x37     8x16  800x600     16/256K  .   A000 Cirrus CL-GD5420/5422/5426
  1663.      = G 100x37     8x16  800x600     16      .   A000 Diamond Stealth64 Video 2xx1
  1664.      = G 100x42     8x14  800x600      .      .   A000 ATI VGA Wonder (undoc)
  1665.      = G    .      .    800x600     16      .   A000 Chips&Technologies chipset
  1666.      = G 160x64     8x16 1280x1024 256      .   A000 NCR 77C22 [1,9]
  1667.  6Bh = T 100x37     8x16      .     16      .    .  Genoa 6400
  1668.      = T 100x37     8x16      .      .      .    .  NEL Electronics BIOS
  1669.      = G 100x37     8x16  800x600      .      .   A000 Diamond Stealth64 Video 2xx1
  1670.  6Ch = G  80x30     8x16  640x480     16M      .   A000 Trident 8900CL/BIOS C04
  1671.      = G 100x75     8x8   800x600    256      .    .  Genoa 6400
  1672.      = G 128x48     8x16 1024x768      2      .   A000 Diamond Stealth64 Video 2xx1
  1673.      = G 160x60     8x16 1280x960     16/256K  .   A000 WD90C [1]
  1674.      = G 160x60     8x16 1280x960     16/256K  .   A000 Diamond Speedstar 24X [1]
  1675.      = G 160x64     8x16 1280x1024     16/256K  .   A000 Cirrus CL-GD 5422/5426 [1]
  1676.  6Dh = G  80x25     8x14  640x350     64K      .   A000 STB Lightspeed ET4000/W32P
  1677.      = G 128x48     8x16 1024x768      .      .   A000 Diamond Stealth64 Video 2xx1
  1678.      = G 160x64     8x16 1280x1024 256/256K  .   A000 Cirrus CL-GD 5422/5426 [1]
  1679.  6Eh = G  40x25     8x8   320x200     64K      .   A000 Cirrus CL-GD 5422/5426
  1680.      = G 160x64     8x16 1280x1024      2      .   A000 Diamond Stealth64 Video 2xx1
  1681.  6Fh = G  40x25     8x8   320x200     16M      .   A000 Cirrus CL-GD 5422/5426
  1682.      = G 160x64     8x16 1280x1024      .      .   A000 Diamond Stealth64 Video 2xx1
  1683.  70h =    extended mode set (see AX=0070h)    .  Everex Micro Enhancer EGA
  1684.      = T  40x25     8x8      .     16      8   B800 Quadram (CGA double scan)
  1685.      = T  40x25     8x8   (CGA dblscan)      .    .  Genoa SuperEGA BIOS 3.0+
  1686.      = G    .      .    360x480    256      .    .  Cirrus 510/520/5320 chips
  1687.      = G  90x28     8x14  720x392     16      1   A000 Ahead B
  1688.      = G  80x30     8x16  640x480      .      .   A000 Diamond Stealth64 Video 2xx1
  1689.      = G 100x38     8x16  800x600     16      .   A000 C&T chipset, Cardinal
  1690.      = G    .      .   1024x480    256      .   A000 Trident 8900C BIOS C3.0
  1691.  71h = T  80x25     8x8      .     16      8   B800 Quadram (CGA double scan)
  1692.      = T  80x25     8x8   (CGA dblscan)      .    .  Genoa SuperEGA BIOS 3.0+
  1693.      = G    .      .    528x400    256      .    .  Cirrus 510/520 chipset
  1694.      = G  80x30     8x16  640x480     16M      .   A000 Cirrus CL-GD 5422/5426
  1695.      = G  80x30     8x16  640x480      .      .   A000 Diamond Stealth64 Video 2xx1
  1696.      = G 100x35     8x16  800x600     16/64      .   A000 NSI Smart EGA+
  1697.      = G 100x75     8x8   800x600     16      1   A000 Ahead B (same as 6Ah)
  1698.      = G    .      .    960x720     16      .    .  C&T chipset, Cardinal
  1699.      = G    .      .   1024x480    256      .   A000 Trident 8900C BIOS C3.0
  1700.  72h = T  80x60     8x8      .     16      .   B800 Quadram Ultra VGA
  1701.      = T  80x60     8x8      .     16      .   B800 Genoa 6400
  1702.      = T  80x60     8x8      .     16      .   B800 Genoa SuperEGA BIOS 3.0+
  1703.      = G    .      .    528x480    256      .    .  Cirrus 510/520 chipset
  1704.      = G  80x25     8x19  640x480     16      1   A000 DOS/V w/ any VGA
  1705.      = G  80x30     8x16  640x480      .      .   A000 Diamond Stealth64 Video 2xx1
  1706.      = G    .      .    640x480    32K      .   A000 ATI
  1707.      = G    .      .    640x480    16M      .   A000 WD90C
  1708.      = G    .      .    640x480    16M      .   A000 Diamond Speedstar 24X
  1709.      = G    .      .   1024x768     16      .    .  C&T chipset, Cardinal
  1710.      = G 128x48     8x16 1024x768i     16      .   A000 C&T 82C450 BIOS
  1711.      = G 128x48     8x16 1024x768     16      .   A000 C&T 65530 BIOS (multisync)
  1712.  73h = G  80x60     8x8   640x480     16      .   A000 Quadram Ultra VGA
  1713.      = G  80x60     8x8   640x480     16      .    .  Genoa 6400
  1714.      = G  80x60     8x8   640x480     16      .    .  Genoa SuperEGA BIOS 3.0+
  1715.      = G 100x37     8x16  800x600      .      .   A000 Diamond Stealth64 Video 2xx1
  1716.      = T  80x25     8x19  640x475     16      1   none DOS/V, emulated in VGA graph
  1717.  74h = T  80x66     8x8      .     16      .   B800 Quadram Ultra VGA
  1718.      = T  80x66     8x8      .     16      .   B800 Genoa 6400
  1719.      = T  80x66     8x8      .     16      .   B800 Genoa SuperEGA BIOS 3.0+
  1720.      = G    .      .    640x400      2      .   B800 Toshiba 3100 AT&T mode
  1721.      = G  80x30     8x16  640x480     32K      .   A000 Trident 8900C/BIOS C03
  1722.      = G 100x37     8x16  800x600      .      .   A000 Diamond Stealth64 Video 2xx1
  1723.      = G 128x48     8x16 1024x768     16      1   A000 Ahead A, Ahead B (512K)
  1724.      = G    .      .   1024x768     64K      .   A000 Cirrus CL-GD 5422/5426 [1]
  1725.  75h = G  80x30     8x16  640x480     64K      .   A000 Trident 8900C/BIOS C03
  1726.      = G  80x66      .    640x528     16???      .   A000 Quadram Ultra VGA
  1727.      = G  80x66      .    640x528     16      .    .  Genoa SuperEGA BIOS 3.0+
  1728.      = G 100x37     8x16  800x600      .      .   A000 Diamond Stealth64 Video 2xx1
  1729.      = G 128x48     8x16 1024x768      4      1   A000 Ahead B
  1730.      = G 128x48     8x16 1024x768     16      .   A000 Chips&Technologies 64310
  1731.  76h = T  94x29     8x14      .     16      .   B800 Quadram Ultra VGA
  1732.      = T  94x29     8x14      .      .      .    .  Genoa SuperEGA BIOS 3.0+
  1733.      = G 100x75     8x8   800x600     32K      .   A000 Trident 8900C/BIOS C03
  1734.      = G 128x48     8x16 1024x768      2      1   A000 Ahead B
  1735.      = G 128x48     8x16 1024x768      .      .   A000 Diamond Stealth64 Video 2xx1
  1736.      = G 160x64     8x16 1280x1024     16      .   A000 Chips&Technologies 64310 [1]
  1737.  77h = G  94x29      .    752x410     16???      .   A000 Quadram Ultra VGA
  1738.      = G  94x29      .    752x410     16      .    .  Genoa SuperEGA BIOS 3.0+
  1739.      = G 100x75     8x8   800x600     64K      .   A000 Trident 8900C/BIOS C03
  1740.      = G 128x48     8x16 1024x768      .      .   A000 Diamond Stealth64 Video 2xx1
  1741.  78h = T 100x37     8x16      .     16      .    .  Genoa 6400
  1742.      = T 100x75     8x8      .     16      .   B800 Quadram Ultra VGA
  1743.      = T 100x75     8x8      .      .      .    .  Genoa SuperEGA BIOS 3.0+
  1744.      = G    .      .    640x400    256      .    .  STB VGA/EM-16 Plus
  1745.      = G  80x25     8x16  640x400    256      .    .  Cardinal, C&T chipset
  1746.      = G    .      .    640x400    256      .    .  Cirrus 5320 chipset
  1747.      = G  80x25     8x16  640x400    256      .   A000 Chips&Technologies 64310
  1748.  79h = G  80x30     8x16  640x480    256      .    .  Cardinal, C&T chipset
  1749.      = G  80x30     8x16  640x480    256      .   A000 Chips&Technologies 64310
  1750.      = G 100x75      .    800x600     16???      .   A000 Quadram Ultra VGA
  1751.      = G 100x75     8x8   800x600     16      .    .  Genoa SuperEGA BIOS 3.0+
  1752.      = G 100x75     8x8   800x600     16      .    .  Genoa 6400
  1753.  7Ah = T 114x60     8x8      .     16      .   B800 Quadram Ultra VGA
  1754.      = T 114x60     8x8      .      .      .    .  Genoa SuperEGA BIOS 3.0+
  1755.      = G    .      .    720x540    256      .    .  C&T chipset, Cardinal
  1756.  7Bh = G    .      .    800x600    256      .    .  C&T chipset, Cardinal
  1757.      = G 114x60      .    912x480     16???      .   A000 Quadram Ultra VGA
  1758.      = G    .      .    912x480     16      .    .  Genoa SuperEGA BIOS 3.0+
  1759.  7Ch = G    .      .    512x512     16      .    .  Genoa
  1760.      = G 100x37     8x16  800x600    256      .    .  C&T 82C453/F65530 chipsets
  1761.      = G 100x37     8x16  800x600    256      .   A000 Chips&Technologies 64310
  1762.      = G 200x75     8x16 1600x1200      . [16]  .   A000 Diamond Stealth64 Video 2xx1
  1763.  7Dh = G  64x32     8x16  512x512    256      .    .  Genoa
  1764.  7Eh =    special mode set (see AX=007Eh)        .  Paradise VGA, AT&T VDC600
  1765.      = G  80x25     8x16  640x400    256      .    .  Genoa 6400
  1766.      = G    .      .   1024x768    256      .    .  C&T 82C453 chipset
  1767.      = G 128x48     8x16 1024x768    256      .   A000 Chips&Technologies 64310
  1768.      = G  90x43      .      .    mono      .   B000 HERCULES.COM on HGC [14]
  1769.  7Fh =    special function set (see AX=007Fh/BH=00h) Paradise VGA, AT&T VDC600
  1770.      = G 128x48     8x16 1024x768      4      .    .  Genoa 6400
  1771.      = G  90x29      .      .    mono      .   B000 HERCULES.COM on HGC [14]
  1772.  82h = T  80x25      .      .    B&W      .    .  AT&T VDC overlay mode [6]
  1773.  83h = T  80x25      .      .      .      .    .  AT&T VDC overlay mode [6]
  1774.  86h = G    .      .    640x200    B&W      .    .  AT&T VDC overlay mode [6]
  1775.  88h = G  90x43     8x8   720x348    mono      .   B000 Hercules + MSHERC.COM
  1776.  C0h = G    .      .    640x400    2/prog palette    .  AT&T VDC overlay mode [6]
  1777.      = G    .      .    640x400    2/prog palette    .  Olivetti Quaderno overlay
  1778.  C4h =    disable output      .      .      .    .  AT&T VDC overlay mode [6]
  1779.  C8h = G  80x50     8x8   640x400      2      .   B800 Olivetti Quaderno overlay
  1780.  D0h = G    .      .    640x400      2      .   B800 DEC VAXmate AT&T mode
  1781. Notes:
  1782. [1] interlaced only
  1783. [2] for ATI EGA Wonder, mode 08h is only valid if SMS.COM is loaded resident.
  1784.       SMS maps mode 08h to mode 27h if the byte at location 0040:0063 is 0B4h,
  1785.       otherwise to mode 23h, thus selecting the appropriate (monochrome or
  1786.       color) 132x25 character mode.
  1787.     for ATI VGA Wonder, mode 08h is the same, and only valid if VCONFIG loaded
  1788.       resident
  1789. [3] early XGA boards support 132-column text but do not have this BIOS mode
  1790. [4] DESQview intercepts calls to change into these two modes (21h is page 0,
  1791.       22h is page 1) even if there is no Hercules graphics board installed
  1792. [5] ATI BIOS v4-1.00 has a text-scrolling bug in this mode
  1793. [6] for AT&T VDC overlay modes, BL contains the DEB mode, which may be 06h,
  1794.       40h, or 44h
  1795. [7] BIOS text support is broken in this undocumented mode; scrolling moves
  1796.       only about 1/3 of the screen (and does even that portion incorrectly),
  1797.       while screen clears only clear about 3/4.
  1798. [8] The Oak OTI-037/067/077 modes are present in the Oak VGA BIOS, which OEMs
  1799.       may choose to use only partially or not at all; thus, not all Oak boards
  1800.       support all "Oak" modes listed here
  1801. [9] this card uses the full 128K A000h-BFFFh range for the video buffer,
  1802.       precluding the use of a monochrome adapter in the same system
  1803. [10] mode 17h supported by Tseng ET4000 BIOS 8.01X dated 09/14/90, but not
  1804.       v8.01X dated 02/28/92; mode 21h supported by 02/28/92 version but not
  1805.       09/14/90 version
  1806. [11] HERKULES simulates a 90x45 text mode in Hercules graphics mode; the
  1807.       installation check for HERKULES.COM is the signature "Herkules" two
  1808.       bytes beyond the INT 10 handler
  1809. [12] The Realtek RTVGA BIOS v3.C10 crashes when attempting to switch into
  1810.       modes 21h or 27h; this version of the BIOS also sets the BIOS data area
  1811.       incorrectly for extended text modes, resulting in scrolling after only
  1812.       24 lines (the VMODE.EXE    utility does set the data area correctly)
  1813. [13] The Tandy 1000SL/TL BIOS does not actually support this mode
  1814. [14] HERCULES.COM is a graphics-mode BIOS extension for Hercules-compatible
  1815.       graphics cards by Soft Warehouse, Inc.  Its installation check is to
  1816.       test whether the word preceding the INT 10 handler is 4137h.
  1817. [15] The Hercules-graphics video modes for HERCBIOS (shareware by Dave
  1818.       Tutelman) may be changed by a command-line switch; the 90x43
  1819.       character-cell mode's number is always one higher than the 90x29 mode
  1820.       (whose default is mode 08h)
  1821. [16] Stealth64 Video 2001-series BIOS v1.03 reports 76 lines for mode 7Ch,
  1822.       resulting in incorrect scrolling for TTY output (scrolling occurs only
  1823.       after the end of the 76th line, which is not displayed)
  1824. [17] For 43-line text on EGA or 43/50-line text on VGA, you must load an 8x8
  1825.       font using AX=1102h after switching to mode 3; VGA may also require
  1826.       using INT 10/AH=12h/BL=30h
  1827. SeeAlso: #00011,#00083,#00191
  1828. Index:    video modes
  1829. Index:    installation check;HERKULES|installation check;HERCULES.COM
  1830. --------V-100070-----------------------------
  1831. INT 10 - VIDEO - Everex Micro Enhancer EGA/Viewpoint VGA - EXTENDED MODE SET
  1832.     AX = 0070h
  1833.     BL = mode (see #00011)
  1834. Desc:    specify a proprietary display mode on the Everex Micro Enhancer or
  1835.       Viewpoint video adapters
  1836. SeeAlso: AH=00h,AX=6F05h,AX=7000h/BX=0004h,AH=FFh"GO32"
  1837.  
  1838. (Table 00011)
  1839. Values for Everex video mode:
  1840.      text/ text pixel    pixel    colors disply scrn monitor    adapter
  1841.      grph resol     box  resolution       pages  addr
  1842.  00h = G    .      .    640x480     16      .    .  multisync  EGA,VGA
  1843.  01h = G    .      .    752x410     16      .    .  multisync  EGA,VGA
  1844.  02h = G    .      .    800x600     16      .    .  multisync  EGA,VGA
  1845.  03h = T  80x34      .      .      .      .    .  multisync  EGA,VGA
  1846.  04h = T  80x60      .      .      .      .    .  multisync  EGA,VGA
  1847.  05h = T  94x29      .      .      .      .    .  multisync  EGA only
  1848.  06h = T  94x51      .      .      .      .    .  multisync  EGA only
  1849.  07h = T 100x43     8x14      .     16      .    .  .          VGA only
  1850.  08h = T 100x75     8x8      .     16      .    .  .          VGA only
  1851.  09h = T  80x44      .      .      .      .    .  EGA          EGA only
  1852.  0Ah = T 132x25      .      .      .      .    .  EGA          EGA,VGA
  1853.  0Bh = T 132x44      .      .      .      .    .  EGA          EGA,VGA
  1854.  0Ch = T 132x25      .      .      .      .    .  CGA          EGA only
  1855.  0Dh = T  80x44      .      .      .      .    .  mono          EGA only
  1856.  0Eh = T 132x25      .      .      .      .    .  mono
  1857.  0Fh = T 132x44      .      .      .      .    .  mono
  1858.  10h =    reserved
  1859.  11h = G    .      .   1280x350      4      .    .  .          EGA only
  1860.  12h = G    .      .   1280x600      4      .    .  .          EGA only
  1861.  13h = G    .      .    640x350    256      .    .  .          EGA,EV673
  1862.  14h = G    .      .    640x400    256      .    .  .
  1863.  15h = G    .      .    512x480    256      .    .  .
  1864.  16h = T  80x30     8x16      .    256      .    .  .          VGA only
  1865.  18h = T 100x27     8x16      .     16      .    .  .          VGA only
  1866.  20h = G    .      .   1024x768     16      .    .  .          Everex 629,678
  1867.         .      .      .      .      .    .  .          Everex EV-673
  1868.  21h = T 160x64     8x16 1280x1024     16      .    .  .          1MB VGA only
  1869.  30h = G    .      .    640x480    256      .    .  .          Everex 629,678
  1870.         .      .      .      .      .    .  .          Everex EV-673
  1871.  31h = G    .      .    800x600    256      .    .  .          Everex 629,678
  1872.         .      .      .      .      .    .  .          Everex EV-673
  1873.  32h = G 128x48     8x16 1024x768    256      .    .  .          1MB VGA only
  1874.  40h = T 132x30     8x16      .     16      .    .  .          VGA only
  1875.  50h = T 132x32     8x16      .    mono      .    .  .          VGA only
  1876.  62h = G  40x25     8x8   320x200    32K      .    .  .          Vwpt TC (EV629)
  1877.  70h = G  64x30     8x16  512x480    32K      .    .  .          Viewpoint TC
  1878.  71h = G  80x30     8x16  640x480    32K      .    .  .          Viewpoint TC
  1879.  76h = G  64x30     8x16  512x480    16M      .    .  .          Viewpoint TC
  1880.  77h = G  80x30     8x16  640x480    16M      .    .  .          Viewpoint TC
  1881. SeeAlso: #00010,#00191
  1882. Index:    video modes;Everex
  1883. --------V-10007E-----------------------------
  1884. INT 10 - VIDEO - Paradise VGA, AT&T VDC600 - SET SPECIAL MODE
  1885.     AX = 007Eh
  1886.     BX = horizontal dimension of the mode desired
  1887.     CX = vertical dimension of the mode desired
  1888.         (both BX/CX in pixels for graphics modes, rows for alpha modes)
  1889.     DX = number of colors of the mode desired (0000h for monochrome modes)
  1890. Return: BH = 7Eh if successful (Paradise VGA)
  1891.     AL = 7Eh if successful (AT&T VDC600)
  1892. Desc:    specify a display mode by resolution rather than mode number
  1893. SeeAlso: AH=00h,AX=0070h,AX=007Fh/BH=00h,AX=6F05h,AH=FFh"GO32"
  1894. Index:    video modes;Paradise|video modes;AT&T
  1895. --------V-10007FBH00-------------------------
  1896. INT 10 - VIDEO - Paradise VGA, AT&T VDC600 - SET VGA OPERATION
  1897.     AX = 007Fh
  1898.     BH = 00h
  1899. Return: AL = 7Fh if successful (AT&T VDC600)
  1900.     BH = status (Paradise/Dell)
  1901.         00h invalid function
  1902.         7Fh successful
  1903. SeeAlso: AX=007Fh/BH=01h,AX=007Fh/BH=02h
  1904. --------V-10007FBH01-------------------------
  1905. INT 10 - VIDEO - Paradise VGA, AT&T VDC600 - SET NON-VGA OPERATION
  1906.     AX = 007Fh
  1907.     BH = 01h
  1908. Return: AL = 7Fh if successful (AT&T VDC600)
  1909.     BH = status (Paradise/Dell)
  1910.         00h invalid function
  1911.         7Fh successful
  1912. Note:    color modes (0,1,2,3,4,5,6) will set non-VGA CGA operation, monochrome
  1913.       mode 7 will set non-VGA MDA/Hercules operation
  1914. SeeAlso: AX=007Fh/BH=00h,AX=007Fh/BH=02h
  1915. --------V-10007FBH02-------------------------
  1916. INT 10 - VIDEO - Paradise VGA, AT&T VDC600 - QUERY MODE STATUS
  1917.     AX = 007Fh
  1918.     BH = 02h
  1919. Return: AL = 7Fh if successful (AT&T VDC600)
  1920.     BH = status (Paradise/Dell)
  1921.         00h invalid function
  1922.         7Fh successful
  1923.     ---if successful---
  1924.     BL = 00h if operating in VGA mode, 01h if non-VGA mode
  1925.     CH = total video RAM size in 64k byte units
  1926.     CL = video RAM used by the current mode
  1927. Note:    under Novell DOS 7 TaskMgr Multitasker, this call always returns 0K
  1928.       video memory in CX
  1929. SeeAlso: AX=007Fh/BH=00h,AX=007Fh/BH=01h
  1930. --------V-10007FBH03-------------------------
  1931. INT 10 - VIDEO - Paradise VGA, AT&T VDC600 - LOCK CURRENT MODE
  1932.     AX = 007Fh
  1933.     BH = 03h
  1934. Return: AL = 7Fh if successful (AT&T VDC600)
  1935.     BH = status (Paradise/Dell)
  1936.         00h invalid function
  1937.         7Fh successful
  1938. Desc:    allows current mode (VGA or non-VGA) to survive re-boot
  1939. SeeAlso: AX=007Eh,AX=007Fh/BH=04h,AX=007Fh/BH=06h,AH=FFh"Oak"
  1940. --------V-10007FBH04-------------------------
  1941. INT 10 - VIDEO - Paradise VGA, AT&T VDC600 - ENTER MDA EMULATION MODE
  1942.     AX = 007Fh
  1943.     BH = 04h
  1944. Return: AL = 7Fh if successful (AT&T VDC600)
  1945.     BH = status (Paradise/Dell)
  1946.         00h invalid function
  1947.         7Fh successful
  1948. SeeAlso: AX=007Eh,AX=007Fh/BH=03h,AX=007Fh/BH=05h,AH=FFh"Oak"
  1949. --------V-10007FBH05-------------------------
  1950. INT 10 - VIDEO - Paradise VGA, AT&T VDC600 - ENTER CGA EMULATION MODE
  1951.     AX = 007Fh
  1952.     BH = 05h
  1953. Return: AL = 7Fh if successful (AT&T VDC600)
  1954.     BH = status (Paradise/Dell)
  1955.         00h invalid function
  1956.         7Fh successful
  1957. SeeAlso: AX=007Eh,AX=007Fh/BH=03h,AX=007Fh/BH=04h,AH=FFh"Oak"
  1958. --------V-10007FBH06-------------------------
  1959. INT 10 - VIDEO - Paradise VGA, AT&T VDC600 - ENTER MONOCHROME VGA MODE
  1960.     AX = 007Fh
  1961.     BH = 06h
  1962. Return: AL = 7Fh if successful (AT&T VDC600)
  1963.     BH = status (Paradise/Dell)
  1964.         00h invalid function
  1965.         7Fh successful
  1966. Note:    this function also switches to video mode 7
  1967. SeeAlso: AX=007Eh,AX=007Fh/BH=03h,AX=007Fh/BH=07h,AH=FFh"Oak"
  1968. --------V-10007FBH07-------------------------
  1969. INT 10 - VIDEO - Paradise VGA, AT&T VDC600 - ENTER COLOR VGA MODE
  1970.     AX = 007Fh
  1971.     BH = 07h
  1972. Return: AL = 7Fh if successful (AT&T VDC600)
  1973.     BH = status (Paradise/Dell)
  1974.         00h invalid function
  1975.         7Fh successful
  1976. Note:    this function also switches to video mode 3
  1977. SeeAlso: AX=007Eh,AX=007Fh/BH=03h,AX=007Fh/BH=06h,AH=FFh"Oak"
  1978. --------V-10007F-----------------------------
  1979. INT 10 - VIDEO - Paradise VGA, AT&T VDC600 - EXTENDED DATA REGISTER ACCESS
  1980.     AX = 007Fh
  1981.     BH = function
  1982.         0Ah,0Bh,0Ch,0Dh,0Eh,0Fh  WRITE PARADISE REGISTERS 0,1,2,3,4,5
  1983.         (port 03CEh indices 0Ah,0Bh,0Ch,0Dh,0Eh,0Fh)
  1984.         BL = value to set in the paradise register
  1985.         1Ah,1Bh,1Ch,1Dh,1Eh,1Fh READ PARADISE REGISTERS 0,1,2,3,4,5
  1986.         (port 03CEh indices 0Ah,0Bh,0Ch,0Dh,0Eh,0Fh)
  1987.         Return: BL = value of the paradise register
  1988.             BH = 7Fh if successful
  1989.         29h-2Fh ??? (Paradise VGA for Dell, 7/24/91)
  1990. Return: AL = 7Fh if successful (AT&T VDC600)
  1991.     BH = status (Paradise/Dell)
  1992.         00h invalid function
  1993.         7Fh successful
  1994. SeeAlso: AX=007Eh,AX=007Fh/BH=03h,AX=007Fh/BH=05h,AH=FFh"Oak"
  1995. --------V-10007FBH60-------------------------
  1996. INT 10 - Paradise VGA - ???
  1997.     AX = 007Fh
  1998.     BH = 60h
  1999.     BL = ??? (00h-13h)
  2000.     ???
  2001. Return: BH = status (00h failed or not supported, 7Fh successful)
  2002.     ???
  2003. Note:    this function is supported by the 5/14/93 ROM for the Dell 486D
  2004. SeeAlso: AX=007Fh/BH=61h
  2005. --------V-10007FBH61-------------------------
  2006. INT 10 - Paradise VGA - ???
  2007.     AX = 007Fh
  2008.     BH = 61h
  2009.     ES:DI -> buffer for list of ??? (see #00012)
  2010. Return: BH = status (00h failed or not supported, 7Fh successful)
  2011.     ???
  2012. Note:    this function is supported by the 5/14/93 ROM for the Dell 486D
  2013. SeeAlso: AX=007Fh/BH=60h
  2014.  
  2015. Format of Paradise VGA list entry:
  2016. Offset    Size    Description    (Table 00012)
  2017.  00h    BYTE    ??? or 00h if end of list
  2018.  01h    BYTE    ???
  2019.  02h    WORD    ???
  2020.  04h    WORD    ???
  2021.  06h    WORD    ???
  2022. --------V-10007FBXA500-----------------------
  2023. INT 10 - Paradise VGA - ???
  2024.     AX = 007Fh
  2025.     BX = A500h
  2026.     ???
  2027. Return: BH = status (00h failed or not supported, 7Fh successful)
  2028.     ???
  2029. Note:    this function is supported by the 5/14/93 ROM for the Dell 486D
  2030. SeeAlso: AX=007Fh/BH=A6h
  2031. --------V-10007FBHA5-------------------------
  2032. INT 10 - Paradise VGA - ???
  2033.     AX = 007Fh
  2034.     BH = A5h
  2035.     BL = ???
  2036.         bits 3-0: ??? (0-4)
  2037.         bits 5,4: ???
  2038.     ???
  2039. Return: BH = status (00h failed or not supported, 7Fh successful)
  2040.     ???
  2041. Note:    this function is supported by the 5/14/93 ROM for the Dell 486D
  2042. --------V-10007FBHA6-------------------------
  2043. INT 10 - Paradise VGA - ???
  2044.     AX = 007Fh
  2045.     BH = A6h
  2046.     ???
  2047. Return: BH = status (00h failed or not supported, 7Fh successful)
  2048.     ???
  2049. Note:    this function is supported by the 5/14/93 ROM for the Dell 486D
  2050. SeeAlso: AX=007Fh/BH=A5h
  2051. --------V-1001-------------------------------
  2052. INT 10 - VIDEO - SET TEXT-MODE CURSOR SHAPE
  2053.     AH = 01h
  2054.     CH = cursor start and options (see #00013)
  2055.     CL = bottom scan line containing cursor (bits 0-4)
  2056. Return: nothing
  2057. Desc:    specify the starting and ending scan lines to be occupied by the
  2058.       hardware cursor in text modes
  2059. Notes:    buggy on EGA systems--BIOS remaps cursor shape in 43 line modes, but
  2060.       returns unmapped cursor shape
  2061.     UltraVision scales size to the current font height by assuming 14-line
  2062.       monochrome and 8-line color fonts; this call is not valid if cursor
  2063.       emulation has been disabled
  2064.     applications which wish to change the cursor by programming the
  2065.       hardware directly on EGA or above should call INT 10/AX=1130h or
  2066.       read 0040h:0085h first to determine the current font height
  2067.     on some adapters, setting the end line greater than the number of lines
  2068.       in the font will result in the cursor extending to the top of the
  2069.       next character cell on the right
  2070. BUG:    AMI 386 BIOS and AST Premier 386 BIOS will lock up the system if AL
  2071.       is not equal to the current video mode
  2072. SeeAlso: AH=03h,AX=CD05h,AH=12h/BL=34h,#03885
  2073.  
  2074. Bitfields for cursor start and options:
  2075. Bit(s)    Description    (Table 00013)
  2076.  7    should be zero
  2077.  6,5    cursor blink
  2078.     (00=normal, 01=invisible, 10=erratic, 11=slow)
  2079.     (00=normal, other=invisible on EGA/VGA)
  2080.  4-0    topmost scan line containing cursor
  2081. --------V-1002-------------------------------
  2082. INT 10 - VIDEO - SET CURSOR POSITION
  2083.     AH = 02h
  2084.     BH = page number
  2085.         0-3 in modes 2&3
  2086.         0-7 in modes 0&1
  2087.         0 in graphics modes
  2088.     DH = row (00h is top)
  2089.     DL = column (00h is left)
  2090. Return: nothing
  2091. SeeAlso: AH=03h,AH=05h,INT 60/DI=030Bh,MEM 0040h:0050h
  2092. --------V-1003-------------------------------
  2093. INT 10 - VIDEO - GET CURSOR POSITION AND SIZE
  2094.     AH = 03h
  2095.     BH = page number
  2096.         0-3 in modes 2&3
  2097.         0-7 in modes 0&1
  2098.         0 in graphics modes
  2099. Return: AX = 0000h (Phoenix BIOS)
  2100.     CH = start scan line
  2101.     CL = end scan line
  2102.     DH = row (00h is top)
  2103.     DL = column (00h is left)
  2104. Notes:    a separate cursor is maintained for each of up to 8 display pages
  2105.     many ROM BIOSes incorrectly return the default size for a color display
  2106.       (start 06h, end 07h) when a monochrome display is attached
  2107. SeeAlso: AH=01h,AH=02h,AH=12h/BL=34h,MEM 0040h:0050h,MEM 0040h:0060h
  2108. --------V-1004-------------------------------
  2109. INT 10 - VIDEO - READ LIGHT PEN POSITION (except VGA)
  2110.     AH = 04h
  2111. Return: AH = light pen trigger flag
  2112.         00h not down/triggered
  2113.         01h down/triggered
  2114.         DH,DL = row,column of character light pen is on
  2115.         CH = pixel row (graphics modes 04h-06h)
  2116.         CX = pixel row (graphics modes with >200 rows)
  2117.         BX = pixel column
  2118. Desc:    determine the current position and status of the light pen (if
  2119.       present)
  2120. Notes:    on a CGA, returned column numbers are always multiples of 2 (320-
  2121.       column modes) or 4 (640-column modes)
  2122.     returned row numbers are only accurate to two lines
  2123. --------V-1004------------------------------------
  2124. INT 10 - HUNTER 16 - GET CURSOR ADDRESS
  2125.     AH = 04h
  2126.     BH = page
  2127. Return: DH = row (0..24)
  2128.     DL = column (0..79)
  2129.     CH = cursor pixel Y-address (0..199)
  2130.     CL = cursor pixel X-address (0..639)
  2131. Notes:    the Husky Hunter 16 is an 8088-based ruggedized laptop.     Other family
  2132.       members are the Husky Hunter, Husky Hunter 16/80, and Husky Hawk.
  2133.     pixel coordinates are for the lower left corner of the character cell
  2134.       containing the cursor
  2135. SeeAlso: AH=60h"HUNTER"
  2136. --------V-1005-------------------------------
  2137. INT 10 - VIDEO -  SELECT ACTIVE DISPLAY PAGE
  2138.     AH = 05h
  2139.     AL = new page number (00h to number of pages - 1) (see #00010)
  2140. Return: nothing
  2141. Desc:    specify which of possibly multiple display pages will be visible
  2142. Note:    to determine whether the requested page actually exists, use AH=0Fh
  2143.       to query the current page after making this call
  2144. SeeAlso: AH=0Fh,AH=43h,AH=45h,MEM 0040h:0062h,MEM 0040h:004Eh
  2145. --------V-100500-----------------------------
  2146. INT 10 - VIDEO - Corona/Cordata BIOS v4.10+ - SET GRAPHICS BITMAP BUFFER
  2147.     AX = 0500h
  2148.     BX = segment of buffer
  2149. Return: nothing
  2150. Desc:    set the address of graphics bitmap buffer for video modes 60h and 61h
  2151. SeeAlso: AX=050Fh"Corona"
  2152. --------V-10050F-----------------------------
  2153. INT 10 - VIDEO - Corona/Cordata BIOS v4.10+ - GET GRAPHICS BITMAP BUFFER
  2154.     AX = 050Fh
  2155. Return: DX = segment of graphics bitmap buffer
  2156. Desc:    get the address of graphics bitmap buffer for video modes 60h and 61h
  2157. SeeAlso: AX=0500h"Corona"
  2158. --------V-100580-----------------------------
  2159. INT 10 - VIDEO - PCjr, Tandy 1000 - GET CRT/CPU PAGE REGISTERS
  2160.     AX = 0580h
  2161. Return: BH = CRT page register
  2162.     BL = CPU page register
  2163. Notes:    the CPU page determines which 16K block of the first 128K of physical
  2164.       memory will be mapped at B800h by the hardware
  2165.     the CRT page determines the start address of the memory used by the
  2166.       video controller
  2167. SeeAlso: AH=05h"SET CRT/CPU"
  2168. --------V-1005-------------------------------
  2169. INT 10 - VIDEO - PCjr, Tandy 1000 - SET CRT/CPU PAGE REGISTERS
  2170.     AH = 05h
  2171.     AL = subfunction
  2172.         81h set CPU page register
  2173.         BL = CPU page
  2174.         82h set CRT page register
  2175.         BH = CRT page
  2176.         83h set both CPU and CRT page registers
  2177.         BL = CPU page
  2178.         BH = CRT page
  2179. Return: nothing
  2180. Notes:    the CPU page determines which 16K block of the first 128K of physical
  2181.       memory will be mapped at B800h by the hardware
  2182.     the CRT page determines the start address of the memory used by the
  2183.       video controller
  2184. SeeAlso: AX=0580h
  2185. --------V-1006-------------------------------
  2186. INT 10 - VIDEO - SCROLL UP WINDOW
  2187.     AH = 06h
  2188.     AL = number of lines by which to scroll up (00h = clear entire window)
  2189.     BH = attribute used to write blank lines at bottom of window
  2190.     CH,CL = row,column of window's upper left corner
  2191.     DH,DL = row,column of window's lower right corner
  2192. Return: nothing
  2193. Note:    affects only the currently active page (see AH=05h)
  2194. BUGS:    some implementations (including the original IBM PC) have a bug which
  2195.       destroys BP
  2196.     the Trident TVGA8900CL (BIOS dated 9/8/92) clears DS to 0000h when
  2197.       scrolling in an SVGA mode (800x600 or higher)
  2198. SeeAlso: AH=07h,AH=12h"Tandy 2000",AH=72h,AH=73h,AX=7F07h,INT 50/AX=0014h
  2199. --------V-1007-------------------------------
  2200. INT 10 - VIDEO - SCROLL DOWN WINDOW
  2201.     AH = 07h
  2202.     AL = number of lines by which to scroll down (00h=clear entire window)
  2203.     BH = attribute used to write blank lines at top of window
  2204.     CH,CL = row,column of window's upper left corner
  2205.     DH,DL = row,column of window's lower right corner
  2206. Return: nothing
  2207. Note:    affects only the currently active page (see AH=05h)
  2208. BUGS:    some implementations (including the original IBM PC) have a bug which
  2209.       destroys BP
  2210.     the Trident TVGA8900CL (BIOS dated 9/8/92) clears DS to 0000h when
  2211.       scrolling in an SVGA mode (800x600 or higher)
  2212. SeeAlso: AH=06h,AH=12h"Tandy 2000",AH=72h,AH=73h,INT 50/AX=0014h
  2213. --------V-1008-------------------------------
  2214. INT 10 - VIDEO - READ CHARACTER AND ATTRIBUTE AT CURSOR POSITION
  2215.     AH = 08h
  2216.     BH = page number (00h to number of pages - 1) (see #00010)
  2217. Return: AH = character's attribute (text mode only) (see #00014)
  2218.     AH = character's color (Tandy 2000 graphics mode only)
  2219.     AL = character
  2220. Notes:    for monochrome displays, a foreground of 1 with background 0 is
  2221.       underlined
  2222.     the blink bit may be reprogrammed to enable intense background colors
  2223.       using AX=1003h or by programming the CRT controller
  2224.     the foreground intensity bit (3) can be programmed to switch between
  2225.       character sets A and B on EGA and VGA cards, thus enabling 512
  2226.       simultaneous characters on screen.  In this case the bit's usual
  2227.       function (intensity) is regularly turned off.
  2228.     in graphics modes, only characters drawn with white foreground pixels
  2229.       are matched by the pattern-comparison routine
  2230.     on the Tandy 2000, BH=FFh specifies that the current page should be
  2231.       used
  2232. BUG:    some IBM PC ROM BIOSes destroy BP when in graphics modes
  2233. SeeAlso: AH=09h,AX=1003h,AX=1103h,AH=12h/BL=37h,AX=5001h
  2234.  
  2235. Bitfields for character's display attribute:
  2236. Bit(s)    Description    (Table 00014)
  2237.  7    foreground blink or (alternate) background bright (see also AX=1003h)
  2238.  6-4    background color (see #00015)
  2239.  3    foreground bright or (alternate) alternate character set (see AX=1103h)
  2240.  2-0    foreground color (see #00015)
  2241. SeeAlso: #00026
  2242.  
  2243. (Table 00015)
  2244. Values for character color:
  2245.     Normal        Bright
  2246.  000b    black        dark gray
  2247.  001b    blue        light blue
  2248.  010b    green        light green
  2249.  011b    cyan        light cyan
  2250.  100b    red        light red
  2251.  101b    magenta        light magenta
  2252.  110b    brown        yellow
  2253.  111b    light gray    white
  2254. --------V-1009-------------------------------
  2255. INT 10 - VIDEO - WRITE CHARACTER AND ATTRIBUTE AT CURSOR POSITION
  2256.     AH = 09h
  2257.     AL = character to display
  2258.     BH = page number (00h to number of pages - 1) (see #00010)
  2259.         background color in 256-color graphics modes (ET4000)
  2260.     BL = attribute (text mode) or color (graphics mode)
  2261.         if bit 7 set in <256-color graphics mode, character is XOR'ed
  2262.           onto screen
  2263.     CX = number of times to write character
  2264. Return: nothing
  2265. Notes:    all characters are displayed, including CR, LF, and BS
  2266.     replication count in CX may produce an unpredictable result in graphics
  2267.       modes if it is greater than the number of positions remaining in the
  2268.       current row
  2269. SeeAlso: AH=08h,AH=0Ah,AH=4Bh"GRAFIX",INT 17/AH=60h,INT 1F"SYSTEM DATA"
  2270. SeeAlso: INT 43"VIDEO DATA",INT 44"VIDEO DATA"
  2271. --------V-100A-------------------------------
  2272. INT 10 - VIDEO - WRITE CHARACTER ONLY AT CURSOR POSITION
  2273.     AH = 0Ah
  2274.     AL = character to display
  2275.     BH = page number (00h to number of pages - 1) (see #00010)
  2276.         background color in 256-color graphics modes (ET4000)
  2277.     BL = attribute (PCjr, Tandy 1000 only) or color (graphics mode)
  2278.         if bit 7 set in <256-color graphics mode, character is XOR'ed
  2279.           onto screen
  2280.     CX = number of times to write character
  2281. Return: nothing
  2282. Notes:    all characters are displayed, including CR, LF, and BS
  2283.     replication count in CX may produce an unpredictable result in graphics
  2284.       modes if it is greater than the number of positions remaining in the
  2285.       current row
  2286. SeeAlso: AH=08h,AH=09h,AH=11h"Tandy 2000",AH=4Bh,INT 17/AH=60h
  2287. SeeAlso: INT 1F"SYSTEM DATA",INT 43"VIDEO DATA",INT 44"VIDEO DATA"
  2288. --------V-100B--BH00-------------------------
  2289. INT 10 - VIDEO - SET BACKGROUND/BORDER COLOR
  2290.     AH = 0Bh
  2291.     BH = 00h
  2292.     BL = background/border color (border only in text modes)
  2293. Return: nothing
  2294. SeeAlso: AH=0Bh/BH=01h
  2295. --------V-100B--BH01-------------------------
  2296. INT 10 - VIDEO - SET PALETTE
  2297.     AH = 0Bh
  2298.     BH = 01h
  2299.     BL = palette ID
  2300.         00h background, green, red, and brown/yellow
  2301.         01h background, cyan, magenta, and white
  2302. Return: nothing
  2303. Note:    this call was only valid in 320x200 graphics on the CGA, but newer
  2304.       cards support it in many or all graphics modes
  2305. SeeAlso: AH=0Bh/BH=00h,MEM 0040h:0066h
  2306. --------V-100B--BH02-------------------------
  2307. INT 10 - Tandy 2000 - VIDEO - SET PALETTE ENTRY
  2308.     AH = 0Bh
  2309.     BH = 02h
  2310.     BL = palette entry number
  2311.     AL = new color value for palette entry
  2312. Return: nothing
  2313. Note:    this interrupt is identical to INT 52 for Tandy 2000
  2314. SeeAlso: INT 10/AH=00h,INT 10/AH=0Bh/BH=01h,INT 52"Tandy 2000"
  2315. --------V-100C-------------------------------
  2316. INT 10 - VIDEO - WRITE GRAPHICS PIXEL
  2317.     AH = 0Ch
  2318.     BH = page number
  2319.     AL = pixel color
  2320.         if bit 7 set, value is XOR'ed onto screen except in 256-color modes
  2321.     CX = column
  2322.     DX = row
  2323. Return: nothing
  2324. Desc:    set a single pixel on the display in graphics modes
  2325. Notes:    valid only in graphics modes
  2326.     BH is ignored if the current video mode supports only one page
  2327. SeeAlso: AH=0Dh,AH=46h
  2328. --------V-100D-------------------------------
  2329. INT 10 - VIDEO - READ GRAPHICS PIXEL
  2330.     AH = 0Dh
  2331.     BH = page number
  2332.     CX = column
  2333.     DX = row
  2334. Return: AL = pixel color
  2335. Desc:    determine the current color of the specified pixel in grahics modes
  2336. Notes:    valid only in graphics modes
  2337.     BH is ignored if the current video mode supports only one page
  2338. SeeAlso: AH=0Ch,AH=47h
  2339. --------V-100E-------------------------------
  2340. INT 10 - VIDEO - TELETYPE OUTPUT
  2341.     AH = 0Eh
  2342.     AL = character to write
  2343.     BH = page number
  2344.     BL = foreground color (graphics modes only)
  2345. Return: nothing
  2346. Desc:    display a character on the screen, advancing the cursor and scrolling
  2347.       the screen as necessary
  2348. Notes:    characters 07h (BEL), 08h (BS), 0Ah (LF), and 0Dh (CR) are interpreted
  2349.       and do the expected things
  2350.     IBM PC ROMs dated 4/24/81 and 10/19/81 require that BH be the same as
  2351.       the current active page
  2352. BUG:    if the write causes the screen to scroll, BP is destroyed by BIOSes
  2353.       for which AH=06h destroys BP
  2354. SeeAlso: AH=02h,AH=06h,AH=0Ah
  2355. --------b-100E--CXABCD-----------------------
  2356. INT 10 - V20-XT-BIOS - TELETYPE OUTPUT WITH ATTRIBUTE
  2357.     AH = 0Eh
  2358.     CX = ABCDh
  2359.     BP = ABCDh
  2360.     AL = character to write
  2361.     BH = page number
  2362.     BL = foreground color (text modes as well as graphics modes)
  2363. Return: nothing
  2364. Program: V20-XT-BIOS is a ROM BIOS replacement with extensions by Peter
  2365.       Koehlmann / c't magazine
  2366. Desc:    display a character on the screen, advancing the cursor and scrolling
  2367.       the screen as necessary
  2368. Notes:    characters 07h (BEL), 08h (BS), 0Ah (LF), and 0Dh (CR) are interpreted
  2369.       and do the expected things
  2370. SeeAlso: INT 15/AH=84h"V20-XT-BIOS"
  2371. --------V-100F-------------------------------
  2372. INT 10 - VIDEO - GET CURRENT VIDEO MODE
  2373.     AH = 0Fh
  2374. Return: AH = number of character columns
  2375.     AL = display mode (see #00010 at AH=00h)
  2376.     BH = active page (see AH=05h)
  2377. Notes:    if mode was set with bit 7 set ("no blanking"), the returned mode will
  2378.       also have bit 7 set
  2379.     EGA, VGA, and UltraVision return either AL=03h (color) or AL=07h
  2380.       (monochrome) in all extended-row text modes
  2381.     HP 200LX returns AL=07h (monochrome) if mode was set to AL=21h
  2382.       and always 80 resp. 40 columns in all text modes regardless of
  2383.       current zoom setting (see AH=D0h)
  2384.     when using a Hercules Graphics Card, additional checks are necessary:
  2385.         mode 05h: if WORD 0040h:0063h is 03B4h, may be in graphics page 1
  2386.           (as set by DOSSHELL and other Microsoft software)
  2387.         mode 06h: if WORD 0040h:0063h is 03B4h, may be in graphics page 0
  2388.           (as set by DOSSHELL and other Microsoft software)
  2389.         mode 07h: if BYTE 0040h:0065h bit 1 is set, Hercules card is in
  2390.           graphics mode, with bit 7 indicating the page (mode set by
  2391.           Hercules driver for Borland Turbo C)
  2392.     the Tandy 2000 BIOS is only documented as returning AL, not AH or BH
  2393. SeeAlso: AH=00h,AH=05h,AX=10F2h,AX=1130h,AX=CD04h,MEM 0040h:004Ah
  2394. --------V-100F56BX4756-----------------------
  2395. INT 10 - VUIMAGE DISPLAY DRIVER (v2.20 and below)
  2396.     AX = 0F56h
  2397.     BX = 4756h
  2398.     CX = 4944h
  2399.     DL = function
  2400.         01h installation check
  2401.         Return: AX = 5649h
  2402.             BX = 4443h
  2403.             CX = 5647h
  2404.             DH = 01h
  2405.         02h get first video mode's parameters
  2406.         Return: AX = BIOS mode number
  2407.             BX = width in pixels
  2408.             CX = height in pixels
  2409.             DX = number of colors
  2410.         03h get next video mode's parameters
  2411.         Return: as for DL=02h
  2412.         04h display line???
  2413.         ES:DI -> record (see #00016)
  2414.         ???
  2415.         Return: ???
  2416. Program: VUIMAGE is a shareware GIF/TIFF image viewer by Offe Enterprises
  2417. Note:    the use of TSR display drivers was discontinued after v2.20
  2418. Index:    installation check;VUIMAGE display driver
  2419.  
  2420. Format of record for VUIMAGE Function 04h:
  2421. Offset    Size    Description    (Table 00016)
  2422.  00h    WORD    row number
  2423.  02h    WORD    starting column???
  2424.  04h    WORD    ending column???
  2425.     ???
  2426. --------V-100F--SIF123-----------------------
  2427. INT 10 - FRIEZE v7.41+ - INSTALLATION CHECK
  2428.     AH = 0Fh
  2429.     SI = F123h
  2430.     DI = 321Fh
  2431. Return: AH = number of character columns
  2432.     AL = display mode (see #00010 at AH=00h)
  2433.     BH = active page (see AH=05h)
  2434.     SI = DI = F345h if installed
  2435. Notes:    if mode was set with bit 7 set ("no blanking"), the returned mode will
  2436.       also have bit 7 set
  2437.     EGA, VGA, and UltraVision return either AL=03h (color) or AL=07h
  2438.       (monochrome) in all extended-row text modes
  2439. SeeAlso: AH=0Fh"VIDEO",AH=4Bh"FRIEZE"
  2440. --------V-1010-------------------------------
  2441. INT 10 - BIOS Window Extension v1.1 - SET WINDOW COORDINATES
  2442.     AH = 10h
  2443.     CH,CL = row,column of upper left corner of window
  2444.     DH,DL = row,column of lower right corner of window
  2445. Return: AL = status
  2446.         00h successful
  2447.         01h failed
  2448.     AH destroyed
  2449. Program: BWE is a TSR by John J. Seal published in May 1986 Dr. Dobb's Journal
  2450. Note:    when a window has been set, all output via AH=0Eh is restricted to
  2451.       the specified window
  2452. SeeAlso: AH=11h"Window",AH=12h"Window"
  2453. --------V-1010-------------------------------
  2454. INT 10 - VIDEO - Eagle PC2 BIOS Rev. C - SET SCROLL SPEED
  2455.     AH = 10h
  2456.     AL = speed
  2457.         00h fast
  2458.         01h slow (scrolling only moves characters during vertical retrace)
  2459. Return: AH = previous speed
  2460. --------V-1010-------------------------------
  2461. INT 10 - Tandy 2000 - VIDEO - GET/SET CHARACTER FONTS
  2462.     AH = 10h
  2463.     AL = control value
  2464.         bit 0: set character set instead of reading it
  2465.         bit 1: high 128 characters instead of low 128 characters
  2466.     ES:BX -> new character set if AL bit 0 set
  2467. Return: ES:BX -> current character set if AL bit 0 clear on entry
  2468. Notes:    this interrupt is identical to INT 52 on Tandy 2000
  2469.     the character set consists of 16 bytes for each of the 128 characters,
  2470.       where each of the 16 bytes describes the pixels in one scan line,
  2471.       most significant bit leftmost
  2472. SeeAlso: AH=00h,AH=0Bh/BH=02h,AH=11h"Tandy 2000",AH=12h"Tandy 2000"
  2473. SeeAlso: INT 52"Tandy 2000"
  2474. --------V-101000-----------------------------
  2475. INT 10 - VIDEO - SET SINGLE PALETTE REGISTER (PCjr,Tandy,EGA,MCGA,VGA)
  2476.     AX = 1000h
  2477.     BL = palette register number (00h-0Fh)
  2478.        = attribute register number (undocumented) (see #00017)
  2479.     BH = color or attribute register value
  2480. Return: nothing
  2481. Notes:    on MCGA, only BX = 0712h is supported
  2482.     under UltraVision, the palette locking status (see AX=CD01h)
  2483.       determines the outcome
  2484. SeeAlso: AX=1002h,AX=1007h,AX=CD01h
  2485.  
  2486. (Table 00017)
  2487. Values for attribute register number:
  2488.  10h    attribute mode control register (should let BIOS control this)
  2489.  11h    overscan color register (see also AX=1001h)
  2490.  12h    color plane enable register (bits 3-0 enable corresponding
  2491.       text attribute bit)
  2492.  13h    horizontal PEL panning register
  2493.  14h    color select register
  2494. --------V-101001-----------------------------
  2495. INT 10 - VIDEO - SET BORDER (OVERSCAN) COLOR (PCjr,Tandy,EGA,VGA)
  2496.     AX = 1001h
  2497.     BH = border color (00h-3Fh)
  2498. Return: nothing
  2499. BUG:    the original IBM VGA BIOS incorrectly updates the parameter save area
  2500.       and places the border color at offset 11h of the palette table
  2501.       rather than offset 10h
  2502. Note:    under UltraVision, the palette locking status (see AX=CD01h)
  2503.       determines the outcome
  2504. SeeAlso: AX=1002h,AX=1008h,AX=CD01h
  2505. --------V-101002-----------------------------
  2506. INT 10 - VIDEO - SET ALL PALETTE REGISTERS (PCjr,Tandy,EGA,VGA)
  2507.     AX = 1002h
  2508.     ES:DX -> palette register list (see #00018)
  2509.     BH = 00h to avoid problems on some adapters
  2510. Return: nothing
  2511. Note:    under UltraVision, the palette locking status (see AX=CD01h)
  2512.       determines the outcome
  2513. SeeAlso: AX=1000h,AX=1001h,AX=1009h,AX=CD01h
  2514.  
  2515. Format of palette register list:
  2516. Offset    Size    Description    (Table 00018)
  2517.  00h 16 BYTEs    colors for palette registers 00h through 0Fh
  2518.  10h    BYTE    border color
  2519. SeeAlso: #00461
  2520. --------V-101003-----------------------------
  2521. INT 10 - VIDEO - TOGGLE INTENSITY/BLINKING BIT (Jr, PS, TANDY 1000, EGA, VGA)
  2522.     AX = 1003h
  2523.     BL = new state
  2524.         00h background intensity enabled
  2525.         01h blink enabled
  2526.     BH = 00h to avoid problems on some adapters
  2527. Return: nothing
  2528. Notes:    although there is no function to get the current status on adapters
  2529.       prior to the VGA, bit 5 of 0040h:0065h indicates the state; on the
  2530.       VGA, use AH=1Bh and check offset 2Dh of the returned data (see #00040)
  2531.     when configured for a monochrome display, the Boca Research Multi-EGA
  2532.       with ROM v M1.1 Type D has its screen disrupted if BH is not clear
  2533.     this call is reported to be "Get Cursor Position" on the Tandy
  2534.       1000SL/TL
  2535. SeeAlso: AH=08h,AH=1Bh
  2536. --------V-101007-----------------------------
  2537. INT 10 - VIDEO - GET INDIVIDUAL PALETTE REGISTER (VGA,UltraVision v2+)
  2538.     AX = 1007h
  2539.     BL = palette or attribute (undoc) register number (see #00017)
  2540. Return: BH = palette or attribute register value
  2541. Note:    UltraVision v2+ supports this function even on color EGA systems in
  2542.       video modes 00h-03h, 10h, and 12h; direct programming of the palette
  2543.       registers will cause incorrect results because the EGA registers are
  2544.       write-only.  To guard against older versions or unsupported video
  2545.       modes, programs which expect to use this function on EGA systems
  2546.       should set BH to FFh on entry.
  2547. SeeAlso: AX=1000h,AX=1009h
  2548. --------V-101008-----------------------------
  2549. INT 10 - VIDEO - READ OVERSCAN (BORDER COLOR) REGISTER (VGA,UltraVision v2+)
  2550.     AX = 1008h
  2551. Return: BH = border color (00h-3Fh)
  2552. Note:    (see AX=1007h)
  2553. SeeAlso: AX=1001h
  2554. --------V-101009-----------------------------
  2555. INT 10 - VIDEO - READ ALL PALETTE REGISTERS AND OVERSCAN REGISTER (VGA)
  2556.     AX = 1009h
  2557.     ES:DX -> 17-byte buffer for palette register list (see #00018)
  2558. Return: nothing
  2559. Note:    UltraVision v2+ supports this function even on color EGA systems in
  2560.       video modes 00h-03h, 10h, and 12h; direct programming of the palette
  2561.       registers will cause incorrect results because the EGA registers are
  2562.       write-only.  To guard against older versions or unsupported video
  2563.       modes, programs which expect to use this function on EGA systems
  2564.       should set the ES:DX buffer to FFh before calling.
  2565. SeeAlso: AX=1002h,AX=1007h,AX=CD02h
  2566. --------V-101010-----------------------------
  2567. INT 10 - VIDEO - SET INDIVIDUAL DAC REGISTER (VGA/MCGA)
  2568.     AX = 1010h
  2569.     BX = register number
  2570.     CH = new value for green (0-63)
  2571.     CL = new value for blue (0-63)
  2572.     DH = new value for red (0-63)
  2573. Return: nothing
  2574. SeeAlso: AX=1012h,AX=1015h
  2575. --------V-101012-----------------------------
  2576. INT 10 - VIDEO - SET BLOCK OF DAC REGISTERS (VGA/MCGA)
  2577.     AX = 1012h
  2578.     BX = starting color register
  2579.     CX = number of registers to set
  2580.     ES:DX -> table of 3*CX bytes where each 3 byte group represents one
  2581.          byte each of red, green and blue (0-63)
  2582. Return: nothing
  2583. SeeAlso: AX=1010h,AX=1017h,INT 62/AX=00A5h
  2584. --------V-101013-----------------------------
  2585. INT 10 - VIDEO - SELECT VIDEO DAC COLOR PAGE (VGA)
  2586.     AX = 1013h
  2587.     BL = subfunction
  2588.         00h select paging mode
  2589.         BH = 00h select 4 blocks of 64
  2590.         BH = 01h select 16 blocks of 16
  2591.         01h select page
  2592.         BH = page number (00h to 03h) or (00h to 0Fh)
  2593. Return: nothing
  2594. Note:    this function is not valid in mode 13h
  2595. SeeAlso: AX=101Ah
  2596. --------V-101015-----------------------------
  2597. INT 10 - VIDEO - READ INDIVIDUAL DAC REGISTER (VGA/MCGA)
  2598.     AX = 1015h
  2599.     BL = palette register number
  2600. Return: DH = red value
  2601.     CH = green value
  2602.     CL = blue value
  2603.     AX destroyed by some BIOSes
  2604.           (e.g. Tseng ET4000 BIOS v8.00n always returns AX=00C9h)
  2605. SeeAlso: AX=1010h,AX=1017h
  2606. --------V-101017-----------------------------
  2607. INT 10 - VIDEO - READ BLOCK OF DAC REGISTERS (VGA/MCGA)
  2608.     AX = 1017h
  2609.     BX = starting palette register
  2610.     CX = number of palette registers to read
  2611.     ES:DX -> buffer (3 * CX bytes in size) (see also AX=1012h)
  2612. Return: buffer filled with CX red, green and blue triples
  2613. SeeAlso: AX=1012h,AX=1015h,INT 62/AX=00A4h
  2614. --------V-101018-----------------------------
  2615. INT 10 U - VIDEO - SET PEL MASK (VGA/MCGA)
  2616.     AX = 1018h
  2617.     BL = new PEL value
  2618. Return: nothing
  2619. SeeAlso: AX=1019h
  2620. --------V-101019-----------------------------
  2621. INT 10 U - VIDEO - READ PEL MASK (VGA/MCGA)
  2622.     AX = 1019h
  2623. Return: BL = value read
  2624. SeeAlso: AX=1018h
  2625. --------V-10101A-----------------------------
  2626. INT 10 - VIDEO - GET VIDEO DAC COLOR-PAGE STATE (VGA)
  2627.     AX = 101Ah
  2628. Return: BL = paging mode
  2629.         00h four pages of 64
  2630.         01h sixteen pages of 16
  2631.     BH = current page
  2632. SeeAlso: AX=1013h
  2633. --------V-10101B-----------------------------
  2634. INT 10 - VIDEO - PERFORM GRAY-SCALE SUMMING (VGA/MCGA)
  2635.     AX = 101Bh
  2636.     BX = starting palette register
  2637.     CX = number of registers to convert
  2638. Return: nothing
  2639. Desc:    convert the RGB values of one or more palette registers such that the
  2640.       resulting values are grays with the same intensities as the original
  2641.       colors
  2642. SeeAlso: AH=12h/BL=33h
  2643. --------V-1010E0-----------------------------
  2644. INT 10 - VIDEO - Diamond Speedstar 24 - SET 24-BIT GRAPHICS MODE
  2645.     AX = 10E0h
  2646.     BL = video mode (see also #00010 at AH=00h)
  2647.         2Eh = 640x480
  2648. Return: ???
  2649. SeeAlso: AH=00h,AX=10F0h
  2650. --------V-1010F0-----------------------------
  2651. INT 10 - VIDEO - Tseng ET-4000 BIOS - SET HiColor GRAPHICS MODE
  2652.     AX = 10F0h
  2653.     BL = video mode (see also #00010 at AH=00h)
  2654.         13h = 320x200x32K
  2655.         2Dh = 640x350x32K
  2656.         2Eh = 640x480x32K
  2657.         2Fh = 640x400x32K
  2658.         30h = 800x600x32K
  2659.         3Eh = 640x480x16M (Genoa 7900)
  2660.         FFh Tseng 24-bit color mode
  2661.         BH = mode
  2662.             2Dh = 640x480
  2663.             2Eh = 640x480x16M
  2664.             2Fh = 640x400
  2665.             30h = 800x600
  2666.             38h = 1024x768??? (Tseng ET4000/W32i)
  2667. Return: AL = 10h if supported
  2668.     AH = status
  2669.         00h if successful
  2670.         other on error
  2671. Desc:    switch the display into a graphics mode with 15 or more bits per pixel
  2672. Note:    the Tseng HiColor BIOS extensions are supported by:
  2673.       Diamond Computer Systems    SpeedStar HiColor VGA
  2674.       Everex Systems        HC VGA
  2675.       Focus Information Systems    2theMax 4000
  2676.       Cardinal Technologies        VGA732
  2677.       Orchid ProDesigner IIs    Genoa 7900
  2678. SeeAlso: AH=00h,AX=10E0h,AX=10F1h,AX=10F2h
  2679. Index:    video modes;Tseng Hi-Color
  2680. --------V-1010F1-----------------------------
  2681. INT 10 - VIDEO - Tseng ET-4000 BIOS - GET DAC TYPE
  2682.     AX = 10F1h
  2683. Return: AL = 10h if supported
  2684.     BL = type of digital/analog converter (see #00019)
  2685. Desc:    determine which type of digital-to-analog converter is installed on the
  2686.       display board
  2687. SeeAlso: AX=10F0h,AX=10F2h
  2688.  
  2689. (Table 00019)
  2690. Values for type of DAC:
  2691.  00h normal VGA DAC
  2692.  01h Sierra SC1148x HiColor DAC
  2693.  ---Diamond SpeedStar 24---
  2694.  02h new Sierra SS24 DAC (24-bit)
  2695.  ---generic Tseng BIOS v8+ ---
  2696.  02h Sierra Mark2 (15-bit) or Mark3 (15/16-bit) DAC
  2697.  03h ATT20c490/1/2 (15/16/24-bit)
  2698.  04h AcuMos ADAC1 (15/16/24-bit)
  2699.  05h unknown 15/16/24-bit DAC
  2700.  06h Cirrus Internal 15/16/24-bit (CL-GD54xx series adapters)
  2701.  07h Diamond SS2410 (15/24-bit)
  2702.  08h unknown 15/16/24-bit DAC
  2703.  09h unknown 15/16/24-bit DAC
  2704.  else other HiColor DAC
  2705. --------V-1010F2-----------------------------
  2706. INT 10 u - VIDEO - Tseng ET-4000 BIOS - CHECK IF HiColor MODE/SET HiColor MODE
  2707.     AX = 10F2h
  2708.     BL = function
  2709.         00h get current HiColor mode
  2710.         01h set 15-bit HiColor mode
  2711.         02h set 16-bit HiColor mode
  2712. Return: AX = 0010h if supported
  2713.         BL = video mode type
  2714.         00h not in HiColor mode
  2715.         01h 15-bit RGB mode
  2716.         02h 16-bit RGB mode
  2717.         03h 24-bit RGB mode
  2718. Desc:    determine whether the display is in a graphics mode with 15 or more
  2719.       bits per pixel color resolution
  2720. Note:    set (BL=01h/02h) only works if already in a HiColor mode
  2721. SeeAlso: AH=0Fh,AX=10F0h,AX=10F1h
  2722. --------V-1011-------------------------------
  2723. INT 10 - BIOS Window Extension v1.1 - GET WINDOW COORDINATES
  2724.     AH = 11h
  2725. Return: CH,CL = row,column of upper left corner
  2726.     DH,DL = row,column of lower right corner
  2727. Desc:    determine the portion of the display to which output is restricted
  2728. Program: BWE is a TSR by John J. Seal published in May 1986 Dr. Dobb's Journal
  2729. SeeAlso: AH=10h"Window",AH=12h"Window"
  2730. --------V-1011-------------------------------
  2731. INT 10 - Tandy 2000 - VIDEO - WRITE ATTRIBUTE ONLY
  2732.     AH = 11h
  2733.     BL = new character attribute (text modes) or color (graphics)
  2734.     CX = number of times to write attribute
  2735. Return: nothing
  2736. Note:    this interrupt is identical to INT 52 on Tandy 2000
  2737. SeeAlso: AH=0Ah,AH=0Bh/BH=02h,AH=11h"Tandy 2000",AH=12h"Tandy 2000"
  2738. SeeAlso: INT 52"Tandy 2000"
  2739. --------V-101100-----------------------------
  2740. INT 10 - VIDEO - TEXT-MODE CHARGEN - LOAD USER-SPECIFIED PATTERNS (PS,EGA,VGA)
  2741.     AX = 1100h
  2742.     ES:BP -> user table
  2743.     CX = count of patterns to store
  2744.     DX = character offset into map 2 block
  2745.     BL = block to load in map 2
  2746.     BH = number of bytes per character pattern
  2747. Return: nothing
  2748. Notes:    This function will cause a mode set, completely resetting
  2749.       the video environment, but without clearing the video buffer
  2750.     the current block specifiers may be determined with INT 10/AH=1Bh,
  2751.       looking at offsets 2Bh and 2Ch of the returned data (VGA only)
  2752.       (see AH=1Bh,#00040)
  2753. SeeAlso: AX=1101h,AX=1102h,AX=1103h,AX=1104h,AX=1110h,AH=1Bh,AX=CD10h
  2754. SeeAlso: MEM 0040h:0084h
  2755. Index:    text mode;font|text mode;screen rows
  2756. --------V-101101-----------------------------
  2757. INT 10 - VIDEO - TEXT-MODE CHARGEN - LOAD ROM MONOCHROME PATTERNS (PS,EGA,VGA)
  2758.     AX = 1101h
  2759.     BL = block to load
  2760. Return: nothing
  2761. Notes:    (see also AX=1100h)
  2762.     This function will cause a mode set, completely resetting
  2763.       the video environment, but without clearing the video buffer
  2764.     the "monochrome" patters are 8x14 pixels in size
  2765. SeeAlso: AX=1100h,AX=1102h,AX=1103h,AX=1104h,AX=1111h,AH=1Bh,AX=CD10h
  2766. SeeAlso: MEM 0040h:0084h
  2767. Index:    text mode;font|text mode;screen rows
  2768. --------V-101102-----------------------------
  2769. INT 10 - VIDEO - TEXT-MODE CHARGEN - LOAD ROM 8x8 DBL-DOT PATTERNS (PS,EGA,VGA)
  2770.     AX = 1102h
  2771.     BL = block to load
  2772. Return: nothing
  2773. Notes:    (see AX=1100h)
  2774. SeeAlso: AX=1100h,AX=1101h,AX=1103h,AX=1104h,AX=1112h,AH=1Bh,AX=CD10h
  2775. SeeAlso: MEM 0040h:0084h
  2776. --------V-101103-----------------------------
  2777. INT 10 - VIDEO - TEXT-MODE CHARGEN - SET BLOCK SPECIFIER (PS,EGA,VGA)
  2778.     AX = 1103h
  2779.     BL = block specifier (see #00020)
  2780. Return: nothing
  2781. Notes:    (see also AX=1110h)
  2782.     This function allows dual character sets to appear on screen
  2783.       simultaneously
  2784. SeeAlso: AX=1100h,AX=1101h,AX=1102h,AX=1104h,AH=1Bh,AX=CD10h
  2785. SeeAlso: MEM 0040h:0084h
  2786. Index:    text mode;font|text mode;screen rows
  2787.  
  2788. Bitfields for block specifier:
  2789. Bit(s)    Description    (Table 00020)
  2790. ---EGA/MCGA---
  2791.  0,1    block selected by characters with attribute bit 3 clear
  2792.  2,3    block selected by characters with attribute bit 3 set
  2793. ---VGA---
  2794.  0,1,4    block selected by characters with attribute bit 3 clear
  2795.  2,3,5    block selected by characters with attribute bit 3 set
  2796. --------V-101104-----------------------------
  2797. INT 10 - VIDEO - TEXT-MODE CHARGEN - LOAD ROM 8x16 CHARACTER SET (VGA)
  2798.     AX = 1104h
  2799.     BL = block to load
  2800. Return: nothing
  2801. Notes:    (see AX=1100h)
  2802. SeeAlso: AX=1100h,AX=1101h,AX=1102h,AX=1103h,AX=1114h,AH=1Bh,AX=CD10h
  2803. SeeAlso: MEM 0040h:0084h
  2804. Index:    text mode;font|text mode;screen rows
  2805. --------V-1011-------------------------------
  2806. INT 10 - VIDEO - Realtek RTVGA - TEXT-MODE CHARACTER GENERATOR FUNCTIONS
  2807.     AH = 11h
  2808.     AL = 07h load user-specified patterns and recalculate mode parms
  2809.          parameters are the same as for AX=1110h
  2810.     AL = 08h load monochrome patterns (8x14) and recalculate mode parms
  2811.          parameters are the same as for AX=1111h
  2812.     AL = 09h load ROM 8 by 8 double-dot patterns and recalculate mode parms
  2813.          parameters are the same as for AX=1112h
  2814.     AL = 0Bh load ROM 8x16 character set (VGA) and recalculate mode parms
  2815.          parameters are the same as for AX=1114h
  2816. Note:    these functions should only be called under the same conditions as
  2817.       AL=1xh (see AX=1110h"EGA")
  2818. SeeAlso: AX=1100h,AX=1110h"CHARGEN",AX=1110h"Realtek",MEM 0040h:0084h
  2819. Index:    text mode;font|text mode;screen rows
  2820. --------V-10110F-----------------------------
  2821. INT 10 - VIDEO - Realtek RTVGA - SET USER 8x8 GRAPHICS CHARACTERS
  2822.     AX = 110Fh
  2823.     ES:BP -> user table for INT 1F
  2824. Return: nothing
  2825. Note:    this function is meant to be called immediately after a mode set;
  2826.       results are unpredictable at other times
  2827. SeeAlso: AX=1110h"Realtek",AX=1111h"Realtek",AX=1112h"Realtek",AX=1120h
  2828. --------V-101110-----------------------------
  2829. INT 10 - VIDEO - TEXT-MODE CHARGEN - LOAD USER-SPECIFIED PATTERNS (PS,EGA,VGA)
  2830.     AX = 1110h
  2831.     ES:BP -> user table
  2832.     CX = count of patterns to store
  2833.     DX = character offset into map 2 block
  2834.     BL = block to load in map 2
  2835.     BH = number of bytes per character pattern
  2836. Return: nothing
  2837. Notes:    This function will cause a mode set, completely resetting
  2838.       the video environment, but without clearing the video buffer
  2839.     This function is designed to be called immediately after a mode set,
  2840.       it is equivalent to AX=110xh except that:
  2841.           Page 0 must be active.
  2842.           Bytes/character is recalculated.
  2843.           Max character rows is recalculated.
  2844.           CRT buffer length is recalculated.
  2845.           CRTC registers are reprogrammed as follows:
  2846.              R09 = bytes/char-1 ; max scan line (mode 7 only)
  2847.              R0A = bytes/char-2 ; cursor start
  2848.              R0B = 0        ; cursor end
  2849.              R12 = ((rows+1)*(bytes/char))-1 ; vertical display end
  2850.              R14 = bytes/char    ; underline loc
  2851.                (*** BUG: should be 1 less ***)
  2852.     the current block specifiers may be determined with INT 10/AH=1Bh,
  2853.       looking at offsets 2Bh and 2Ch of the returned data (VGA only)
  2854.       (see AH=1Bh,#00040)
  2855. SeeAlso: AX=1100h,AX=1111h,AX=1112h,AX=1114h,AH=1Bh,AX=CD10h,MEM 0040h:0084h
  2856. Index:    text mode;font|text mode;screen rows
  2857. --------V-101110-----------------------------
  2858. INT 10 - VIDEO - Realtek RTVGA - SET USER GRAPHICS CHARACTERS
  2859.     AX = 1110h
  2860.     ES:BP -> user table
  2861.     CX = bytes per character
  2862.     BL = row specifier
  2863.         00h user set
  2864.         DL = number of rows
  2865.         01h 14 rows
  2866.         02h 25 rows
  2867.         03h 43 rows
  2868. Return: nothing
  2869. Note:    this function is meant to be called immediately after a mode set;
  2870.       results are unpredictable at other times
  2871. SeeAlso: AX=110Fh"Realtek",AX=1112h"Realtek",AX=1121h
  2872. --------V-101111-----------------------------
  2873. INT 10 - VIDEO - TEXT-MODE CHARGEN - LOAD ROM MONOCHROME PATTERNS (PS,EGA,VGA)
  2874.     AX = 1111h
  2875.     BL = block to load
  2876. Return: nothing
  2877. Notes:    (see AX=1110h)
  2878.     the "monochrome" patters are 8x14 pixels in size
  2879. SeeAlso: AX=1101h,AX=1110h,AX=1112h,AX=1114h,AH=1Bh,AX=CD10h
  2880. --------V-101111-----------------------------
  2881. INT 10 - VIDEO - Realtek RTVGA - SET ROM 8x14 GRAPHICS CHARACTERS
  2882.     AX = 1111h
  2883.     BL = row specifier (see AX=1121h)
  2884. Return: nothing
  2885. Note:    this function is meant to be called immediately after a mode set;
  2886.       results are unpredictable at other times
  2887. SeeAlso: AX=110Fh"Realtek",AX=1110h"Realtek",AX=1122h
  2888. --------V-101112-----------------------------
  2889. INT 10 - VIDEO - TEXT-MODE CHARGEN - LOAD ROM 8x8 DBL-DOT PATTERNS (PS,EGA,VGA)
  2890.     AX = 1112h
  2891.     BL = block to load
  2892. Return: nothing
  2893. Notes:    (see AX=1110h)
  2894. SeeAlso: AX=1103h,AX=1110h,AX=1111h,AX=1114h,AH=1Bh,AX=CD10h
  2895. --------V-101112-----------------------------
  2896. INT 10 - VIDEO - Realtek RTVGA - SET ROM 8x8 DOUBLE-DOT CHARACTERS
  2897.     AX = 1112h
  2898.     BL = row specifier (see AX=1121h)
  2899. Return: nothing
  2900. Note:    this function is meant to be called immediately after a mode set;
  2901.       results are unpredictable at other times
  2902. SeeAlso: AX=110Fh"Realtek",AX=1110h"Realtek",AX=1111h"Realtek",AX=1123h
  2903. --------V-101114-----------------------------
  2904. INT 10 - VIDEO - TEXT-MODE CHARGEN - LOAD ROM 8x16 CHARACTER SET (VGA)
  2905.     AX = 1114h
  2906.     BL = block to load
  2907. Return: nothing
  2908. Notes:    (see AX=1110h)
  2909. SeeAlso: AX=1104h,AX=1110h,AX=1111h,AX=1112h,AH=1Bh,AX=CD10h
  2910. --------V-101118-----------------------------
  2911. INT 10 - IBM SurePath BIOS - Officially "Private" Function
  2912.     AX = 1118h
  2913. --------V-101120-----------------------------
  2914. INT 10 - VIDEO - GRAPH-MODE CHARGEN - SET USER 8x8 GRAPHICS CHARS (PS,EGA,VGA)
  2915.     AX = 1120h
  2916.     ES:BP -> user table for INT 1F
  2917. Return: nothing
  2918. Note:    this function is meant to be called immediately after a mode set;
  2919.       results are unpredictable at other times
  2920. SeeAlso: AX=1121h,AX=1122h,AX=1123h,AX=1124h,AX=1129h,INT 1F"SYSTEM DATA"
  2921. SeeAlso: INT 43"VIDEO DATA"
  2922. --------V-101121-----------------------------
  2923. INT 10 - VIDEO - GRAPH-MODE CHARGEN - SET USER GRAPHICS CHARACTERS (PS,EGA,VGA)
  2924.     AX = 1121h
  2925.     ES:BP -> user table
  2926.     CX = bytes per character
  2927.     BL = row specifier
  2928.         00h user set
  2929.         DL = number of rows
  2930.         01h 14 rows
  2931.         02h 25 rows
  2932.         03h 43 rows
  2933. Return: AL = new number of rows (Diamond Stealth64 Video)
  2934. Note:    this function is meant to be called immediately after a mode set;
  2935.       results are unpredictable at other times
  2936. SeeAlso: AX=1120h,AX=1122h,AX=1123h,AX=1124h,AX=1129h"Compaq"
  2937. SeeAlso: AX=1129h"Diamond",INT 1F"SYSTEM DATA",INT 43"VIDEO DATA"
  2938. --------V-101122-----------------------------
  2939. INT 10 - VIDEO - GRAPH-MODE CHARGEN - SET ROM 8x14 GRAPHICS CHARS (PS,EGA,VGA)
  2940.     AX = 1122h
  2941.     BL = row specifier (see AX=1121h)
  2942. Return: nothing
  2943. Notes:    this function is meant to be called immediately after a mode set;
  2944.       results are unpredictable at other times
  2945.     UltraVision v2+ sets INT 43 to the appropriate font on this call
  2946. SeeAlso: AX=1111h,AX=1120h,AX=1121h,AX=1123h,AX=1124h,AX=1129h
  2947. SeeAlso: INT 1F"SYSTEM DATA",INT 43"VIDEO DATA"
  2948. --------V-101123-----------------------------
  2949. INT 10 - VIDEO - GRAPH-MODE CHARGEN - SET ROM 8x8 DOUBLE-DOT CHARS (PS,EGA,VGA)
  2950.     AX = 1123h
  2951.     BL = row specifier (see AX=1121h)
  2952. Return: nothing
  2953. Notes:    this function is meant to be called immediately after a mode set;
  2954.       results are unpredictable at other times
  2955.     UltraVision v2+ sets INT 43 to the appropriate font on this call
  2956. SeeAlso: AX=1112h,AX=1120h,AX=1121h,AX=1122h,AX=1124h,AX=1129h
  2957. SeeAlso: INT 1F"SYSTEM DATA",INT 43"VIDEO DATA"
  2958. --------V-101124-----------------------------
  2959. INT 10 - VIDEO - GRAPH-MODE CHARGEN - LOAD 8x16 GRAPHICS CHARS (VGA,MCGA)
  2960.     AX = 1124h
  2961.     BL = row specifier (see AX=1121h)
  2962. Return: nothing
  2963. Notes:    this function is meant to be called immediately after a mode set;
  2964.       results are unpredictable at other times
  2965.     UltraVision v2+ sets INT 43 to the appropriate font on this call
  2966. SeeAlso: AX=1120h,AX=1121h,AX=1122h,AX=1123h,AX=1129h
  2967. SeeAlso: INT 1F"SYSTEM DATA",INT 43"VIDEO DATA"
  2968. --------V-101129-----------------------------
  2969. INT 10 - VIDEO - GRAPH-MODE CHARGEN - LOAD 8x16 GRAPH CHARS (Compaq Systempro)
  2970.     AX = 1129h
  2971.     BL = row specifier (see AX=1121h)
  2972. Return: nothing
  2973. Notes:    this function is meant to be called immediately after a mode set;
  2974.       results are unpredictable at other times
  2975.     UltraVision v2+ sets INT 43 to the appropriate font on this call
  2976. SeeAlso: AX=1120h,AX=1121h,AX=1122h,AX=1123h,AX=1124h,INT 1F"SYSTEM DATA"
  2977. SeeAlso: INT 43"VIDEO DATA"
  2978. --------V-101129-----------------------------
  2979. INT 10 - VIDEO - GRAPH-MODE CHARGEN - SET USER GRAPHICS CHARACTERS (Diamond)
  2980.     AX = 1129h
  2981.     DI:BP -> user table
  2982.     CX = bytes per character
  2983.     BL = row specifier
  2984.         00h user set
  2985.         DL = number of rows
  2986.         01h 14 rows
  2987.         02h 25 rows
  2988.         03h 43 rows
  2989. Return: AL = new number of rows
  2990. Notes:    this function is meant to be called immediately after a mode set;
  2991.       results are unpredictable at other times
  2992.     supported by Diamond Stealth64 Video
  2993. SeeAlso: AX=1120h,AX=1122h,AX=1123h,AX=1124h,INT 1F"SYSTEM",INT 43"VIDEO"
  2994. --------V-101130-----------------------------
  2995. INT 10 - VIDEO - GET FONT INFORMATION (EGA, MCGA, VGA)
  2996.     AX = 1130h
  2997.     BH = pointer specifier
  2998.         00h INT 1Fh pointer
  2999.         01h INT 43h pointer
  3000.         02h ROM 8x14 character font pointer
  3001.         03h ROM 8x8 double dot font pointer
  3002.         04h ROM 8x8 double dot font (high 128 characters)
  3003.         05h ROM alpha alternate (9 by 14) pointer (EGA,VGA)
  3004.         06h ROM 8x16 font (MCGA, VGA)
  3005.         07h ROM alternate 9x16 font (VGA only) (see #00021)
  3006.         11h (UltraVision v2+) 8x20 font (VGA) or 8x19 font (autosync EGA)
  3007.         12h (UltraVision v2+) 8x10 font (VGA) or 8x11 font (autosync EGA)
  3008. Return: ES:BP = specified pointer
  3009.     CX    = bytes/character of on-screen font (not the requested font!)
  3010.     DL    = highest character row on screen
  3011. Note:    for UltraVision v2+, the 9xN alternate fonts follow the corresponding
  3012.       8xN font at ES:BP+256N
  3013. BUG:    the IBM EGA and some other EGA cards return in DL the number of rows on
  3014.       screen rather than the highest row number (which is one less).
  3015. SeeAlso: AX=1100h,AX=1103h,AX=1120h,INT 1F"SYSTEM DATA",INT 43"VIDEO DATA"
  3016.  
  3017. Format of alternate font table [array]:
  3018. Offset    Size    Description    (Table 00021)
  3019.  00h    BYTE    character to be replaced (00h = end of table)
  3020.  01h  N BYTEs    graphics data for character, one byte per scan line
  3021. --------V-101130BX4D4F-----------------------
  3022. INT 10 - M10_SCR.COM v3.5+ - INSTALLATION CHECK
  3023.     AX = 1130h
  3024.     BX = 4D4Fh
  3025. Return: CX = 4F4Dh if installed
  3026.         ES:BP -> M10_SCR INT 10 handler
  3027. Program: M10_SCR is a shareware extended text mode and font driver by
  3028.       I.V. Morozov
  3029. SeeAlso: INT 16/AX=4D4Fh
  3030. --------V-1012-------------------------------
  3031. INT 10 - BIOS Window Extension v1.1 - GET BLANKING ATTRIBUTE
  3032.     AH = 12h
  3033. Return: BH = attribute to use on blanked lines when scrolling
  3034. Program: BWE is a TSR by John J. Seal published in May 1986 Dr. Dobb's Journal
  3035. SeeAlso: AH=11h"Window",AH=12h"Window"
  3036. --------V-1012-------------------------------
  3037. INT 10 - Tandy 2000 - VIDEO - SCROLL WINDOW
  3038.     AH = 12h
  3039.     AL = number of rows or columns to scroll
  3040.     BH = buffer flag
  3041.         00h data in user buffer
  3042.         ES:SI -> buffer containing character/attribute pairs
  3043.         01h no buffer, fill emptied rows/columns with blanks
  3044.     BL = direction in which to scroll
  3045.         00h up
  3046.         01h down
  3047.         02h left
  3048.         03h right
  3049.     CH,CL = row,column of upper left corner of scroll area
  3050.     DH,DL = row,column of lower right corner
  3051. Return: nothing
  3052. Notes:    this interrupt is identical to INT 52 on Tandy 2000
  3053.     the user buffer, if supplied, must be organized by row; regardless of
  3054.       the scroll direction, all character/attribute pairs for the first
  3055.       row are first, then the pairs for the second row, etc.
  3056. SeeAlso: AH=00h,AH=0Bh/BH=02h,AH=11h"Tandy 2000",AH=12h"Tandy 2000"
  3057. SeeAlso: INT 52"Tandy"
  3058. --------V-1012--BL10-------------------------
  3059. INT 10 - VIDEO - ALTERNATE FUNCTION SELECT (PS, EGA, VGA, MCGA) - GET EGA INFO
  3060.     AH = 12h
  3061.     BL = 10h
  3062. Return: BH = video state
  3063.         00h color mode in effect (I/O port 3Dxh)
  3064.         01h mono mode in effect (I/O port 3Bxh)
  3065.     BL = installed memory (00h = 64K, 01h = 128K, 02h = 192K, 03h = 256K)
  3066.     CH = feature connector bits (see #00022)
  3067.     CL = switch settings (see #00023,#00024)
  3068.     AH destroyed (at least by Tseng ET4000 BIOS v8.00n)
  3069. Note:    one possible check for the presence of an EGA or later display card
  3070.       is to call this function with BH=FFh; if not present, BH will be
  3071.       unchanged on return
  3072.     another installation check is used by Athena Digital's HGCIBM, which
  3073.       sets CX to FFFFh on calling and checks whether it has been changed
  3074.       on return
  3075. Index:    installation check;EGA
  3076.  
  3077. Bitfields for feature connector bits:
  3078. Bit(s)    Description    (Table 00022)
  3079.  0    FEAT 1 line, state 2
  3080.  1    FEAT 0 line, state 2
  3081.  2    FEAT 1 line, state 1
  3082.  3    FEAT 0 line, state 1
  3083.  4-7    unused (0)
  3084.  
  3085. Bitfields for switch settings:
  3086. Bit(s)    Description    (Table 00023)
  3087.  0    switch 1 OFF
  3088.  1    switch 2 OFF
  3089.  2    switch 3 OFF
  3090.  3    switch 4 OFF
  3091.  4-7    unused
  3092.  
  3093. (Table 00024)
  3094. Values for switch settings on original EGA/VGA:
  3095.  00h        primary MDA/HGC,    secondary EGA+ 40x25
  3096.  01h-03h    primary MDA/HGC,    secondary EGA+ 80x25
  3097.  04h        primary CGA 40x25,    secondary EGA+ 80x25 mono
  3098.  05h        primary CGA 80x25,    secondary EGA+ 80x25 mono
  3099.  06h        primary EGA+ 40x25,    secondary MDA/HGC (optional)
  3100.  07h-09h    primary EGA+ 80x25,    secondary MDA/HGC (optional)
  3101.  0Ah        primary EGA+ 80x25 mono,secondary CGA 40x25 (optional)
  3102.  0Bh        primary EGA+ 80x25 mono,secondary CGA 80x25 (optional)
  3103. --------V-1012--BL11-------------------------
  3104. INT 10 - VIDEO - Trident TVGA 8800/8900/9000 BIOS - GET BIOS INFO
  3105.     AH = 12h
  3106.     BL = 11h
  3107. Return: AL = 12h if function supported
  3108.         BL = ??? (10h)
  3109.         ES:BP -> BIOS info structure (see #00025)
  3110. SeeAlso: AH=12h/BL=12h"TRIDENT"
  3111.  
  3112. Format of Trident BIOS Info structure:
  3113. Offset    Size     Description    (Table 00025)
  3114.  00h    BYTE     ??? (0000h)
  3115.  01h    BYTE     OEM Code (00h for original Trident)
  3116.  02h    WORD     ID??? (1073h for 8800BR, 1074 for 8800CS)
  3117.  04h  8 BYTEs     BIOS date ('mm/dd/yy')
  3118.  0Ch    WORD     ???
  3119.  0Eh  8 BYTEs     BIOS Version (' C3-128 ', ' C3-129 ')
  3120. --------V-1012--BL12-------------------------
  3121. INT 10 - VIDEO - Trident TVGA 8800/8900/9000 BIOS - GET VIDEO RAM SIZE
  3122.     AH = 12h
  3123.     BL = 12h
  3124. Return: AL = 12h if function supported
  3125.         AH = number of 256K banks of RAM installed
  3126.           (read from CRTC register 1Fh)
  3127. SeeAlso: AH=12h/BL=11h"TRIDENT"
  3128. --------V-1012--BL20-------------------------
  3129. INT 10 - VIDEO - ALTERNATE FUNCTION SELECT (PS,EGA,VGA,MCGA) - ALTERNATE PRTSC
  3130.     AH = 12h
  3131.     BL = 20h  select alternate print screen routine
  3132. Return: nothing
  3133. Desc:    installs a PrtSc routine from the video card's BIOS to replace the
  3134.       default PrtSc handler from the ROM BIOS, which usually does not
  3135.       understand screen heights other than 25 lines
  3136. Note:    some adapters disable print-screen instead of enhancing it
  3137. SeeAlso: INT 05"PRINT SCREEN"
  3138. --------V-1012--BL2E-------------------------
  3139. INT 10 - Tseng ET-4000 BIOS v3.00 and v8.00 - BUG
  3140.     AH = 12h
  3141.     BL = 2Eh
  3142. Return: nothing
  3143. Note:    due to an omitted end-of-list marker, these versions of the BIOS will
  3144.       crash the system on this function
  3145. --------V-1012--BL30-------------------------
  3146. INT 10 - VIDEO - ALTERNATE FUNCTION SELECT (VGA) - SELECT VERTICAL RESOLUTION
  3147.     AH = 12h
  3148.     BL = 30h
  3149.     AL = vertical resolution
  3150.          00h 200 scan lines
  3151.          01h 350 scan lines
  3152.          02h 400 scan lines
  3153. Return: AL = 12h if function supported
  3154. Desc:    specify the number of scan lines used to display text modes
  3155. Note:    the specified resolution will take effect on the next mode set
  3156. SeeAlso: AH=00h
  3157. --------V-1012--BL31-------------------------
  3158. INT 10 - VIDEO - ALTERNATE FUNCTION SELECT (VGA, MCGA) - PALETTE LOADING
  3159.     AH = 12h
  3160.     BL = 31h
  3161.     AL = new state
  3162.         00h enable default palette loading
  3163.         01h disable default palette loading
  3164. Return: AL = 12h if function supported
  3165. Desc:    specify whether a default palette should be loaded when the display
  3166.       mode is set
  3167. SeeAlso: AH=00h
  3168. --------V-1012--BL32-------------------------
  3169. INT 10 - VIDEO - ALTERNATE FUNCTION SELECT (VGA, MCGA) - VIDEO ADDRESSING
  3170.     AH = 12h
  3171.     BL = 32h
  3172.     AL = new state
  3173.         00h enable video addressing
  3174.         01h disable video addressing
  3175. Return: AL = 12h if function supported
  3176. Desc:    specify whether the CPU should have access to video memory and the
  3177.       display adapters I/O registers
  3178. --------V-1012--BL33-------------------------
  3179. INT 10 - VIDEO - ALTERNATE FUNCTION SELECT (VGA, MCGA) - GRAY-SCALE SUMMING
  3180.     AH = 12h
  3181.     BL = 33h
  3182.     AL = new state
  3183.         00h enable gray scale summing
  3184.         01h disable gray scale summing
  3185. Return: AL = 12h if function supported
  3186. Desc:    specify whether or not colors should be converted to gray scale when
  3187.       palette or color registers are loaded
  3188. SeeAlso: AX=101Bh,AX=BF06h,AX=BF08h
  3189. --------V-1012--BL34-------------------------
  3190. INT 10 - VIDEO - ALTERNATE FUNCTION SELECT (VGA) - CURSOR EMULATION
  3191.     AH = 12h
  3192.     BL = 34h
  3193.     AL = new state
  3194.         00h enable alphanumeric cursor emulation
  3195.         01h disable alphanumeric cursor emulation
  3196. Return: AL = 12h if function supported
  3197. Desc:    specify whether the BIOS should automatically remap cursor start/end
  3198.       according to the current character height in text modes
  3199. SeeAlso: AH=01h,AH=03h
  3200. --------V-1012--BL35-------------------------
  3201. INT 10 - VIDEO - ALTERNATE FUNCTION SELECT (PS) - DISPLAY-SWITCH INTERFACE
  3202.     AH = 12h
  3203.     BL = 35h
  3204.     AL = subfunction
  3205.         00h initial adapter video off
  3206.         01h initial planar video on
  3207.         02h switch active video off
  3208.         03h switch inactive video on
  3209.         80h *UNDOCUMENTED* set system board video active flag
  3210.     ES:DX -> buffer for 128 byte save area (if AL = 00h-03h)
  3211. Return: AL = 12h if function supported
  3212. Desc:    switch between two video adapters which may otherwise have address
  3213.       conflicts
  3214. SeeAlso: AX=BF00h,AX=BF01h,INT 6D"VGA"
  3215. --------V-1012--BL36-------------------------
  3216. INT 10 - VIDEO - ALTERNATE FUNCTION SELECT (PS, VGA) - VIDEO REFRESH CONTROL
  3217.     AH = 12h
  3218.     BL = 36h
  3219.     AL = new state
  3220.         00h enable refresh
  3221.         01h disable refresh
  3222. Return: AL = 12h if function supported
  3223. Desc:    specify whether the contents of video memory should be displayed on
  3224.       the screen; disabling refresh effectively blanks the screen
  3225. Note:    when display refresh is disabled, the entire screen displays the color
  3226.       specified by the DAC color register 00h; thus to actually blank the
  3227.       screen, the application must first ensure that that register has been
  3228.       set to black
  3229. BUG:    GEM/VIEWMAX ET3000 and ET4000 drivers dated 6/23/88 do not correctly
  3230.       reenable refresh after the screen has been blanked due to inactivity,
  3231.       resulting in a total loss of video synchronization
  3232. SeeAlso: AX=BF05h
  3233. --------V-1012--BL37-------------------------
  3234. INT 10 - VIDEO - XGA - MAINFRAME INTERACTIVE SUPPORT
  3235.     AH = 12h
  3236.     BL = 37h
  3237.     AL = text attribute type (00h normal VGA, 01h mainframe type)
  3238. Return: AL = 12h if supported
  3239. SeeAlso: #00026,AH=08h,#00042
  3240.  
  3241. Bitfields for XGA mainframe type character attributes:
  3242. Bit(s)    Description    (Table 00026)
  3243.  7    blink double rate (75% ON time) or use color 8 as background
  3244.     (see AX=1003h)
  3245.  6    reverse video
  3246.  5    underlined
  3247.  4    left-most and right-most dots of underline area inverted
  3248.  3    foreground intensity/character font select
  3249.  2-0    foreground color
  3250. SeeAlso: #00014,#00036
  3251. --------V-1012--BL38-------------------------
  3252. INT 10 - IBM SurePath BIOS - Officially "Private" Function
  3253.     AH = 12h
  3254.     BL = 38h
  3255. SeeAlso: AX=1118h,AH=12h/BL=39h
  3256. --------V-1012--BL39-------------------------
  3257. INT 10 - IBM SurePath BIOS - Officially "Private" Function
  3258.     AH = 12h
  3259.     BL = 39h
  3260. SeeAlso: AX=1118h,AH=12h/BL=38h,AH=12h/BL=3Ah
  3261. --------V-1012--BL3A-------------------------
  3262. INT 10 - IBM SurePath BIOS - Officially "Private" Function
  3263.     AH = 12h
  3264.     BL = 3Ah
  3265. SeeAlso: AX=1118h,AH=12h/BL=39h
  3266. --------V-1012--BL53-------------------------
  3267. INT 10 - Tseng ET-4000 BIOS v8.00 (06/07/91) - BUG
  3268.     AH = 12h
  3269.     BL = 53h
  3270. Note:    due to an omitted end-of-list marker, this version of the BIOS will
  3271.       crash the system on this function
  3272. --------V-1012--BL57-------------------------
  3273. INT 10 - Tseng ET-4000 BIOS v8.00 (06/07/91) - BUG
  3274.     AH = 12h
  3275.     BL = 57h
  3276. Note:    due to an omitted end-of-list marker, this version of the BIOS will
  3277.       crash the system on this function
  3278. --------V-1012--BH55-------------------------
  3279. INT 10 - VIDEO - ALTERNATE FUNC SELECT (ATI,Tatung,Taxan) - ENHANCED FEATURES
  3280.     AH = 12h
  3281.     BH = 55h
  3282.     BL = subfunction
  3283.         00h disable enhanced features
  3284.         01h enable enhanced features
  3285.         02h get status
  3286.         Return: AL = status flags (see #00027)
  3287.         03h disable register trapping (CGA emulation)
  3288.         04h enable register trapping
  3289.         05h program video mode
  3290.         ES:BP -> video mode table (see #00028)
  3291.         06h get mode table
  3292.         AL = video mode
  3293.         Return: ES:BP -> table suitable for mode AL
  3294.                   (and subfunc BL=05h) (see #00028)
  3295.             BP = FFFFh on error
  3296.             SI = 0000h (ATI Mach32)
  3297. Note:    the ATI Mouse driver (MOUSE.COM/MOUSE.SYS) uses subfunction 06h to get
  3298.       the mode table for mode 03h, and then looks for a signature string
  3299.       beginning within 32 bytes of the offset specified by the word at
  3300.       ES:000Ch
  3301. SeeAlso: AH=FFh"Oak"
  3302. Index:    installation check;ATI video adapters
  3303.  
  3304. Bitfields for status flags:
  3305. Bit(s)    Description    (Table 00027)
  3306.  3    set if enhanced features enabled
  3307.  7-5    monitor type
  3308.     000 PS/2 mono
  3309.     001 PS/2 color
  3310.     010 multi-sync
  3311.     011 Taxan 650 25kHz
  3312.     100 RGB
  3313.     101 mono
  3314.     110 EGA
  3315.     111 Compaq internal
  3316.  
  3317. Format of ATI VGA Wonder video mode table:
  3318. Offset    Size    Description    (Table 00028)
  3319.  00h    BYTE    number of columns
  3320.  01h    BYTE    maximum row (number of rows - 1)
  3321.  02h    BYTE    scan lines per row
  3322.  03h    WORD    video buffer size in bytes
  3323.  05h  4 BYTEs    values for Sequencer registers 1-4
  3324.  09h    BYTE    value for Miscellaneous Output register
  3325.  0Ah 25 BYTEs    values for CRTC registers 00h-18h
  3326.         00h horizontal total size (chars)
  3327.         01h horizontal displayed (chars)
  3328.         02h horizontal sync position (chars)
  3329.         03h horizontal sync width (chars)
  3330.         04h vertical total size (char rows)
  3331.         05h vertical total adjust (scan lines)
  3332.         06h vertical displayed (char rows)
  3333.         07h vertical sync position (char rows)
  3334.         08h interlace mode
  3335.         09h max scan line in row
  3336.         0Ah cursor start scan line
  3337.         0Bh cursor end scan line
  3338.         0Ch screen memory start (high)
  3339.         0Dh screen memory start (low)
  3340.         0Eh cursor address (high)
  3341.         0Fh cursor address (low)
  3342.         10h light pen (high)
  3343.         11h light pen (low)
  3344.  23h 20 BYTEs    default palette (values for Attribute Controller regs 00h-13h)
  3345.  37h  9 BYTEs    values for Graphics Controller registers 00h-08h
  3346. --------V-1012--BL74-------------------------
  3347. INT 10 - Tseng ET-4000 BIOS v3.00 and v8.00 - BUG
  3348.     AH = 12h
  3349.     BL = 74h
  3350. Note:    due to an omitted end-of-list marker, these versions of the BIOS will
  3351.       crash the system on this function
  3352. --------V-1012--BL80-------------------------
  3353. INT 10 - Tseng ET-4000 BIOS v3.00 and v8.00 - BUG
  3354.     AH = 12h
  3355.     BL = 80h
  3356. Note:    due to an omitted end-of-list marker, these versions of the BIOS will
  3357.       crash the system on this function
  3358. --------V-1012--BL80-------------------------
  3359. INT 10 - Cirrus Logic BIOS - INQUIRE VGA TYPE
  3360.     AH = 12h
  3361.     BL = 80h
  3362. Return: AX = controller type in bits 13-0 (see #00029)
  3363.         bit 14: ???
  3364.         bit 15: ???
  3365.     BL = silicon revision number (bit 7 set if not available)
  3366.     BH = ???
  3367.         bit 2 set if using CL-GD 6340 LCD interface
  3368. SeeAlso: AH=12h/BL=81h,AH=12h/BL=82h,AH=12h/BL=85h,AH=12h/BL=9Ah,AH=12h/BL=A1h
  3369.  
  3370. (Table 00029)
  3371. Values for Cirrus Logic video controller type:
  3372.  0000h    no extended alternate select support
  3373.  0001h    reserved
  3374.  0002h    CL-GD510/520
  3375.  0003h    CL-GD610/620
  3376.  0004h    CL-GD5320
  3377.  0005h    CL-GD6410
  3378.  0006h    CL-GD5410
  3379.  0007h    CL-GD6420
  3380.  0008h    CL-GD6412
  3381.  0010h    CL-GD5401
  3382.  0011h    CL-GD5402
  3383.  0012h    CL-GD5420
  3384.  0013h    CL-GD5422
  3385.  0014h    CL-GD5424
  3386.  0015h    CL-GD5426
  3387.  0016h    CL-GD5420r1
  3388.  0017h    CL-GD5402r1
  3389.  0018h    CL-GD5428
  3390.  0019h    CL-GD5429
  3391.  0020h    CL-GD6205/15/25
  3392.  0021h    CL-GD6215
  3393.  0022h    CL-GD6225
  3394.  0023h    CL-GD6235
  3395.  0024h    CL-GD6245
  3396.  0030h    CL-GD5432
  3397.  0031h    CL-GD5434
  3398.  0032h    CL-GD5430
  3399.  0033h    CL-GD5434 rev. E and F
  3400.  0035h    CL-GD5440
  3401.  0036h    CL-GD5436
  3402.  0039h    CL-GD5446
  3403.  0040h    CL-GD6440
  3404.  0041h    CL-GD7542 (Nordic)
  3405.  0042h    CL-GD7543 (Viking)
  3406.  0043h    CL-GD7541 (Nordic Lite)
  3407.  0050h    CL-GD5452 (Northstar)
  3408.  0052h    CL-GD5452 (Northstar) ???
  3409. SeeAlso: #00732,#00743
  3410. --------V-1012--BL81-------------------------
  3411. INT 10 - Cirrus Logic BIOS - GET BIOS VERSION NUMBER
  3412.     AH = 12h
  3413.     BL = 81h
  3414. Return: AH = BIOS major version
  3415.     AL = BIOS minor version
  3416. SeeAlso: AH=12h/BL=80h,AH=12h/BL=82h
  3417. --------V-1012--BL82-------------------------
  3418. INT 10 - Cirrus Logic BIOS - GET DESIGN REVISION CODE
  3419.     AH = 12h
  3420.     BL = 82h
  3421. Return: AL = chip revision
  3422.     AH = ??? (AFh for v1.01)
  3423. SeeAlso: AH=12h/BL=80h,AH=12h/BL=81h,#00732 at INT 1A/AX=B102h
  3424. --------V-1012--BL84-------------------------
  3425. INT 10 - Cirrus Logic BIOS v3.02 - INQUIRE OPTIONS
  3426.     AH = 12h
  3427.     BL = 84h
  3428. Return: AX = user options word (see #00030)
  3429. SeeAlso: AH=12h/BL=89h,AH=12h/BL=8Ah,AH=12h/BL=8Bh,AH=12h/BL=8Ch,AH=12h/BL=8Fh
  3430. SeeAlso: AH=12h/BL=90h,AH=12h/BL=9Ah
  3431.  
  3432. Bitfields for Cirrus Logic user options word:
  3433. Bit(s)    Description    (Table 00030)
  3434.  1,0    centering
  3435.     00 vertical centered, 01 from bottom, 10 from top, 11 reserved
  3436.  3,2    720-dot fix-up options
  3437.     00 OR every 8th and 9th pixel
  3438.     01 display MGA mode from left
  3439.     10 display MGA mode from right
  3440.     11 skip every 9th pixel
  3441.  4    ???
  3442.  7-5    video mode (001 CGA, 010 MGA, 011 EGA, 100 VGA)
  3443.  8    external monitor enabled instead of LCD panel
  3444.  9    vertical expand mode enabled
  3445.  10    8-bit mode instead of 16-bit mode
  3446.  11    normal video rather than reverse video (for LCD)
  3447.  12    attribute automap rather than attribute emulation
  3448.  13    bold mode disabled (default)
  3449.  14    fast bandwidth
  3450.  15    ???
  3451. --------V-1012--BL85-------------------------
  3452. INT 10 - Cirrus Logic BIOS - GET INSTALLED MEMORY
  3453.     AH = 12h
  3454.     BL = 85h
  3455. Return: AL = number of 64K banks of video memory
  3456. SeeAlso: AH=12h/BL=80h,AH=12h/BL=93h
  3457. --------V-1012--BL89-------------------------
  3458. INT 10 - Cirrus Logic BIOS v3.02 - LCD panel - EN/DISABLE REVERSE VIDEO MODE
  3459.     AH = 12h
  3460.     BL = 89h
  3461.     AL = new state (00h enabled, 01h disabled)
  3462. Return: nothing
  3463. SeeAlso: AH=12h/BL=84h,AH=12h/BL=8Ah,AH=12h/BL=8Bh
  3464. --------V-1012--BL8A-------------------------
  3465. INT 10 - Cirrus Logic BIOS v3.02 - LCD panel - SET FRAME COLOR
  3466.     AH = 12h
  3467.     BL = 8Ah
  3468.     AL = new gray-scale color (00h = black to 0Fh = white)
  3469. Return: nothing
  3470. SeeAlso: AH=12h/BL=84h,AH=12h/BL=89h,AH=12h/BL=8Fh
  3471. --------V-1012--BL8B-------------------------
  3472. INT 10 - Cirrus Logic BIOS v3.02 - LCD panel - ENABLE/DISABLE BOLD MODE
  3473.     AH = 12h
  3474.     BL = 8Bh
  3475.     AL = new state (00h enabled, 01h disabled)
  3476. Return: nothing
  3477. SeeAlso: AH=12h/BL=84h,AH=12h/BL=89h,AH=12h/BL=8Ch,AH=12h/BL=8Fh
  3478. --------V-1012--BL8C-------------------------
  3479. INT 10 - Cirrus Logic BIOS v3.02 - LCD panel - SET AUTOMAP/EMULATE ATTRIBUTES
  3480.     AH = 12h
  3481.     BL = 8Ch
  3482.     AL = new state
  3483.         00h enable automap
  3484.         01h disable automap and emulate attributes
  3485. Return: nothing
  3486. SeeAlso: AH=12h/BL=84h,AH=12h/BL=8Bh
  3487. --------V-1012--BL8F-------------------------
  3488. INT 10 - Cirrus Logic BIOS v3.02 - LCD panel - ENABLE/DISABLE EXPAND MODE
  3489.     AH = 12h
  3490.     BL = 8Fh
  3491.     AL = new state (00h enabled, 01h disabled)
  3492. Return: nothing
  3493. Note:    when expand mode is enabled, the vertical dimension is enlarged to
  3494.       full screen
  3495. SeeAlso: AH=12h/BL=84h,AH=12h/BL=89h,AH=12h/BL=8Bh,AH=12h/BL=90h
  3496. --------V-1012--BL90-------------------------
  3497. INT 10 - Cirrus Logic BIOS v3.02 - LCD panel - SET CENTERING MODE
  3498.     AH = 12h
  3499.     BL = 90h
  3500.     AL = new position
  3501.         00h centered
  3502.         01h from top
  3503.         02h from bottom
  3504.         03h from top
  3505. Return: nothing
  3506. SeeAlso: AH=12h/BL=84h,AH=12h/BL=8Fh
  3507. --------V-1012--BL91-------------------------
  3508. INT 10 - Cirrus Logic BIOS v3.02 - LCD panel - SET 720-DOT FIXUP MODE
  3509.     AH = 12h
  3510.     BL = 91h
  3511.     AL = new mode
  3512.         00h display MGA mode from left of screen (default)
  3513.         01h display MGA from right
  3514.         02h skip every ninth pixel
  3515.         03h OR every 8th and 9th pixel
  3516. Return: nothing
  3517. SeeAlso: AH=12h/BL=84h,AH=12h/BL=8Ah,AH=12h/BL=90h
  3518. --------V-1012--BL92-------------------------
  3519. INT 10 - Cirrus Logic BIOS v3.02 - LCD panel - SWITCH DISPLAY
  3520.     AH = 12h
  3521.     BL = 92h
  3522.     AL = new display (00h LCD, 01h external monitor)
  3523. Return: nothing
  3524. Note:    the deselected display is disabled
  3525. SeeAlso: AH=12h/BL=84h,AH=12h/BL=89h,AH=12h/BL=90h,AH=12h/BL=94h
  3526. --------V-1012--BL93-------------------------
  3527. INT 10 - Cirrus Logic BIOS - FORCE 8-BIT OR 16-BIT OPERATION
  3528.     AH = 12h
  3529.     BL = 93h
  3530.     AL = new I/O width (00h = 16 bits, 01h = 8 bits)
  3531. Return: nothing
  3532. SeeAlso: AH=12h/BL=9Ah
  3533. --------V-1012--BL94-------------------------
  3534. INT 10 - Cirrus Logic BIOS v3.02 - POWER CONSERVATION
  3535.     AH = 12h
  3536.     BL = 94h
  3537.     AL = new state (00h wake up monitor, 01h shut down display)
  3538. Return: nothing
  3539. Note:    AL=01h is reported not to work properly on the LCD panel
  3540. SeeAlso: AH=12h/BL=84h,AH=12h/BL=92h
  3541. --------V-1012--BL9A-------------------------
  3542. INT 10 - Cirrus Logic BIOS - GET USER OPTIONS
  3543.     AH = 12h
  3544.     BL = 9Ah
  3545. Return: AX = options word 1 (see #00031)
  3546.     CX = options word 2 (see #00032)
  3547.     BX,DX reserved
  3548. SeeAlso: AH=12h/BL=80h,AH=12h/BL=84h,AH=12h/BL=93h,AH=12h/BL=A0h
  3549. SeeAlso: AH=12h/BL=A3h,AH=12h/BL=A4h,#00732 at INT 1A/AX=B102h
  3550.  
  3551. Bitfields for Cirrus Logic options word 1:
  3552. Bit(s)    Description    (Table 00031)
  3553.  0,1    reserved
  3554.  2-4    monitor type
  3555.  5-6    maximum vertical resolution
  3556.  7-9    reserved
  3557.  10    force 8-bit operation
  3558.  11-13    reserved
  3559.  14    vertical refresh frequency at 640x480
  3560.     =0 60 Hz
  3561.     =1 high refresh
  3562.  15    reserved
  3563. SeeAlso: AH=12h/BL=AEh
  3564.  
  3565. Bitfields for Cirrus Logic options word 2:
  3566. Bit(s)    Description    (Table 00032)
  3567.  15-13    vertical refresh frequency at 1024x768
  3568.  12-11    vertical refresh frequency at 800x600
  3569.  10-6    reserved
  3570.  5-4    vertical refresh frequency at 1280x1024
  3571.  3-0    reserved
  3572. SeeAlso: #00033
  3573.  
  3574. Bitfields for Cirrus Logic Options word 2 (alternate???):
  3575. Bit(s)    Description    (Table 00033)
  3576.  15-12    vertical refresh frequency at 1024x768
  3577.     0000 43i Hz
  3578.     0001 60     Hz
  3579.     0010 70     Hz
  3580.     0011 72     Hz
  3581.     0100 76     Hz
  3582.     other reserved
  3583.  11-8    vertical refresh frequency at 800x600
  3584.     0000 56 Hz
  3585.     0001 60 Hz
  3586.     0010 72 Hz
  3587.     0011 75 Hz
  3588.     other reserved
  3589.  7-4    maximum vertical resolution
  3590.     0000 480  scanlines
  3591.     0001 600  scanlines
  3592.     0010 768  scanlines
  3593.     0011 1024 scanlines
  3594.     other reserved
  3595.  3-1    vertical refresh frequency at 1280x1024
  3596.     000 43i     Hz
  3597.     001 60     Hz
  3598.     010 71.2 Hz (CL-GD5434 rev. E and F)
  3599.     011 74     Hz (CL-GD5434 rev. E and F)
  3600.     other reserved
  3601.  0    reserved
  3602. SeeAlso: #00032
  3603. --------V-1012--BLA0-------------------------
  3604. INT 10 - Cirrus Logic BIOS - GET VIDEO MODE AVAILABILITY
  3605.     AH = 12h
  3606.     BL = A0h
  3607.     AL = video mode number (00h-7Fh)
  3608. Return: AH bit 0: video mode supported
  3609.     BX = offset of BIOS subroutine to fixup standard video parameters
  3610.         (call subroutine with DS:SI and ES:DI as returned by this call)
  3611.     DS:SI -> standard video parameters or FFFFh:FFFFh
  3612.     ES:DI -> supplemental video parameters or FFFFh:FFFFh
  3613. SeeAlso: AH=00h,AH=12h/BL=9Ah,AH=12h/BL=A1h
  3614. --------V-1012--BLA1-------------------------
  3615. INT 10 - Cirrus Logic BIOS - READ MONITOR TYPE AND ID FROM 15-PIN CONNECTOR
  3616.     AH = 12h
  3617.     BL = A1h
  3618. Return: BH = monitor ID (see #00034)
  3619.     BL = monitor type (00h color, 01h grayscale, 02h no display)
  3620. SeeAlso: AH=12h/BL=9Ah,AH=12h/BL=A2h
  3621.  
  3622. (Table 00034)
  3623. Values for Cirrus Logic monitor ID:
  3624.  00h-08h reserved
  3625.  09h    IBM 8604/8507 or equivalent
  3626.  0Ah    IBM 8514 or equivalent
  3627.  0Bh    IBM 8515 or equivalent
  3628.  0Dh    IBM 8503 or equivalent
  3629.  0Eh    IBM 8512/8513 or equivalent
  3630.  0Fh    no monitor
  3631. --------V-1012--BLA2-------------------------
  3632. INT 10 - Cirrus Logic BIOS - SET MONITOR HORIZONTAL RETRACE FREQUENCY
  3633.     AH = 12h
  3634.     BL = A2h
  3635.     AL = retrace rate
  3636.         00h standard VGA (31.5 kHz)
  3637.         01h 8514-compatible (31.5 kHz and 35.5 kHz interlaced)
  3638.         02h SuperVGA (31.5-35.1 kHz)
  3639.         03h extended SuperVGA (31.5-35.5 kHz)
  3640.         04h multi-frequency (31.5-37.8 kHz)
  3641.         05h extended multi-frequency (31.5-48.0 kHz)
  3642.         06h super multi-frequency (31.5-56.0 kHz)
  3643.         07h extended super multi-frequency (31.5-64.0 kHz)
  3644. Return: nothing
  3645. SeeAlso: AH=12h/BL=9Ah,AH=12h/BL=A0h,AH=12h/BL=A4h
  3646. --------V-1012--BLA3-------------------------
  3647. INT 10 - Cirrus Logic BIOS - SET VGA REFRESH
  3648.     AH = 12h
  3649.     BL = A3h
  3650.     AL = refresh rate for 640x480 (00h normal, 01h high)
  3651. Return: nothing
  3652. SeeAlso: AH=12h/BL=9Ah,AH=12h/BL=A4h
  3653. --------V-1012--BLA4-------------------------
  3654. INT 10 - Cirrus Logic BIOS - SET MONITOR TYPE
  3655.     AH = 12h
  3656.     BL = A4h
  3657.     AL = options 1
  3658.         bits 7-4 = vertical refresh at 640x480
  3659.         (0 = 60Hz, 1 = 72Hz, other reserved)
  3660.         bits 3-0 = maximum vertical resolution
  3661.         (0 = 480 scanlines, 1 = 600, 2 = 768, 3 = 1024, other reserved)
  3662.     BH = options 2
  3663.         bits 7-4 = vertical refresh at 1024x768
  3664.         (0=87Hz-int, 1=60Hz, 2=70Hz, 3=72Hz, 4=76Hz, other reserved)
  3665.         bits 3-0 = vertical refresh at 800x600
  3666.         (0 = 56Hz, 1 = 60Hz, 2 = 72Hz, other reserved)
  3667.     CH = options 3
  3668.         bits 7-4 = vertical refresh at 1280x1024
  3669.         (0=87Hz-int, 1=60Hz, 2=70Hz, other reserved)
  3670.         bits 3-0: reserved
  3671.     CL,DX reserved
  3672. Return: nothing
  3673. SeeAlso: AH=12h/BL=9Ah,AH=12h/BL=A3h
  3674. --------V-1012--BLAE-------------------------
  3675. INT 10 - Cirrus Logic BIOS - GET HIGH REFRESH
  3676.     AH = 12h
  3677.     BL = AEh
  3678. Return:    AL = result
  3679.         bits 7-1: reserved
  3680.         bit 0:    640x480 high refresh rate
  3681.               =0 72 Hz
  3682.               =1 75 Hz
  3683. SeeAlso: AH=12h/BL=9Ah,AH=12h/BL=A3h,AH=12h/BL=A4h,AH=12h/BL=AFh
  3684. --------V-1012--BLAF-------------------------
  3685. INT 10 - Cirrus Logic BIOS - SET HIGH REFRESH
  3686.     AH = 12h
  3687.     BL = AFh
  3688.     AL = option
  3689.         bits 7-1: reserved
  3690.         bit 0:    640x480 high refresh rate
  3691.               =0 72 Hz
  3692.               =1 75 Hz
  3693. Return: nothing
  3694. SeeAlso: AH=12h/BL=9Ah,AH=12h/BL=A3h,AH=12h/BL=A4h,AH=12h/BL=AEh
  3695. --------V-1012--BLBE-------------------------
  3696. INT 10 - Tseng ET-4000 BIOS v3.00 and v8.00 - BUG
  3697.     AH = 12h
  3698.     BL = BEh
  3699. Note:    due to an omitted end-of-list marker, these versions of the BIOS will
  3700.       crash the system on this function
  3701. --------V-1012--BLC6-------------------------
  3702. INT 10 - Tseng ET-4000 BIOS v3.00 and v8.00 - BUG
  3703.     AH = 12h
  3704.     BL = C6h
  3705. Note:    due to an omitted end-of-list marker, these versions of the BIOS will
  3706.       crash the system on this function
  3707. --------V-1012--BLF0-------------------------
  3708. INT 10 - Tseng ET-4000 BIOS v3.00 and v8.00 - BUG
  3709.     AH = 12h
  3710.     BL = F0h
  3711. Note:    due to an omitted end-of-list marker, these versions of the BIOS will
  3712.       crash the system on this function
  3713. --------V-1012--BLF1--------------------------
  3714. INT 10 - Tseng ET-4000 BIOS - GET/SET SCREEN REFRESH RATE
  3715.     AH = 12h
  3716.     BL = F1h
  3717.     AL = subfunction
  3718.         00h set refresh rate
  3719.         01h get refresh rate
  3720.     BH = video mode
  3721.         00h     640x480
  3722.         01h     800x600
  3723.         02h     1024x768
  3724.         03h     1280x1024
  3725.     CX = new refresh rate (see #00035) if AL = 00h
  3726. Return: AL = 12h if supported
  3727.         CX = current rate (for AL=00h, a changed CX indicates failure)
  3728.  
  3729. (Table 00035)
  3730. Values for Tseng ET4000 refresh rate:
  3731.  CX    640x480    800x600      1024x768/1280x1024
  3732.  00h    60 Hz     56 Hz       interlaced
  3733.  01h    72 Hz     60 Hz       60 Hz
  3734.  02h    75 Hz     72 Hz       70 Hz
  3735.  03h    90 Hz     75 Hz       75 Hz
  3736.  04h    --     90 Hz       --
  3737. --------V-1013-------------------------------
  3738. INT 10 - VIDEO - WRITE STRING (AT and later,EGA)
  3739.     AH = 13h
  3740.     AL = write mode
  3741.        bit 0: update cursor after writing
  3742.        bit 1: string contains alternating characters and attributes
  3743.        bits 2-7: reserved (0)
  3744.     BH = page number
  3745.     BL = attribute if string contains only characters
  3746.     CX = number of characters in string
  3747.     DH,DL = row,column at which to start writing
  3748.     ES:BP -> string to write
  3749. Return: nothing
  3750. Notes:    recognizes CR, LF, BS, and bell; for the ET4000 BIOS, scrolling,
  3751.       backspace, and CR only take place in the active page
  3752.     also available PC or XT with EGA or higher
  3753.     HP 95LX only supports write mode 00h
  3754.     IBM documents AL=10h,11h,20h,21h as "private" rather than "reserved"
  3755. BUG:    on the IBM VGA Adapter, any scrolling which may occur is performed on
  3756.       the active page rather than the requested page
  3757. SeeAlso: AH=09h,AH=0Ah,AH=13h"DOS/V"
  3758. --------J-1013-------------------------------
  3759. INT 10 - DOS/V - READ/WRITE DOUBLE-BYTE CHARACTER SET CHARACTERS/ATTRIBUTES
  3760.     AH = 13h
  3761.     AL = function
  3762.         10h read characters and standard attributes
  3763.         11h read characters and extended attributes
  3764.         12h write characters and standard attributes
  3765.         13h write characters and extended attributes
  3766.     BH = 00h
  3767.     CX = number of characters to transfer
  3768.     DH,DL = row,column at which to start transfer
  3769.     ES:BP -> buffer for/containing characters and attributes (see #00036)
  3770. Return: ES:BP buffer filled if reading
  3771. Program: DOS/V is a Japanese-language version of MS-DOS which can run on
  3772.       standard (non-Japanese) ATs and compatible equipped with a VGA or
  3773.       newer video adapter
  3774. Notes:    subfunctions 11h and 13h are only valid when DOS/V is using video
  3775.       mode 73h
  3776.     the cursor position is not changed by these functions
  3777.     extended attributes consist of three bytes; the first is the standard
  3778.       character attribute byte, the second is as described below, and the
  3779.       third is always zero in current versions
  3780. SeeAlso: AH=00h,AH=13h"VIDEO"
  3781.  
  3782. Bitfields for DOS/V second extended attribute byte:
  3783. Bit(s)    Description    (Table 00036)
  3784.  7    underline using foreground color
  3785.  6    reverse foreground/background specified in standard attribute byte
  3786.  5-4    unused
  3787.  3    vertical white grid line in cell
  3788.  2    horizontal white grid line in cell
  3789.  1-0    unused
  3790. SeeAlso: #00014,#00026
  3791. --------V-101400-----------------------------
  3792. INT 10 - VIDEO - LOAD USER-SPECIFIED LCD CHARACTER FONT (CONV,Compaq Port 386)
  3793.     AX = 1400h
  3794.     ES:DI -> character font
  3795.     BH = number of bytes per character
  3796.         08h or 10h (Compaq)
  3797.     BL = 00h load main font (block 0)
  3798.          01h load alternate font (block 1)
  3799.     CX = number of characters to store
  3800.     DX = character offset into RAM font area
  3801. Return: nothing
  3802. SeeAlso: AX=1100h,AX=1110h,AX=1401h
  3803. --------V-101401-----------------------------
  3804. INT 10 - VIDEO - LOAD SYSTEM ROM DEFAULT LCD CHARACTER FONT (CONV,CP386)
  3805.     AX = 1401h
  3806.     BL = font to load
  3807.         00h main font (block 0)
  3808.         01h alternate font (block 1)
  3809. Return: nothing
  3810. SeeAlso: AX=1100h,AX=1102h,AX=1400h
  3811. --------V-101402-----------------------------
  3812. INT 10 - VIDEO - SET MAPPING OF LCD HIGH INTENSITY ATTRIBUTES (CONV,CP386)
  3813.     AX = 1402h
  3814.     BL = subfunction
  3815.         00h ignore high intensity attribute
  3816.         01h map high intensity to reverse video
  3817.         02h map high intensity to underscore
  3818.         03h map high intensity to selected alternate font
  3819.         B0h half intensity (Compaq)
  3820.         B1h toggle active intensity bit interpretation (CP386)
  3821. Return: nothing
  3822. --------V-1015-------------------------------
  3823. INT 10 - VIDEO - GET PHYSICAL DISPLAY PARAMETERS (CONVERTIBLE)
  3824.     AH = 15h
  3825. Return: AX = alternate display adapter type (see #00037)
  3826.     ES:DI -> parameter table (see #00038)
  3827. SeeAlso: AH=1Bh
  3828.  
  3829. (Table 00037)
  3830. Values for PC Convertible alternate display adapter type:
  3831.  0000h    none
  3832.  5140h    LCD
  3833.  5153h    CGA
  3834.  5151h    mono
  3835.  
  3836. Format of PC Convertible display parameter table:
  3837. Offset    Size    Description    (Table 00038)
  3838.  00h    WORD    monitor model number
  3839.  02h    WORD    vertical pixels per meter
  3840.  04h    WORD    horizontal pixels per meter
  3841.  06h    WORD    total vertical pixels
  3842.  08h    WORD    total horizontal pixels
  3843.  0Ah    WORD    horizontal pixel separation in micrometers
  3844.         (width, center-to-center)
  3845.  0Ch    WORD    vertical pixel separation in micrometers
  3846.         (height, center-to-center)
  3847. --------V-1015-------------------------------
  3848. INT 10 - VIDEO - SET SUPERIMPOSE MODE (Sperry PC)
  3849.     AH = 15h
  3850.     AL = superimpose mode
  3851.         00h show graphics screen
  3852.         01h show text screen
  3853.         02h show text screen superimposed on graphics screen
  3854. Return: nothing
  3855. --------J-1018-------------------------------
  3856. INT 10 - VIDEO - DOS/V - GET/SET FONT PATTERN
  3857.     AH = 18h
  3858.     AL = subfunction
  3859.         00h get font pattern
  3860.         01h set font pattern
  3861.     BX = 0000h
  3862.     CL = character size in bytes (01h,02h)
  3863.     CH = 00h
  3864.     DH = character width in pixels
  3865.     DL = character height in pixels
  3866.     ES:DI -> buffer for/containing font image
  3867. Return: AL = status (00h successful, else error)
  3868.     ES:DI buffer filled for function 00h if successful
  3869. Note:    the supported font sizes are 8x16 single-byte, 8x19 single-byte,
  3870.       16x16 double-byte, and 24x24 double-byte
  3871. SeeAlso: AH=19h,INT 16/AH=14h
  3872. --------V-1019-------------------------------
  3873. INT 10 - Japanese VIDEO - DOUBLE-BYTE CHARACTER SET SHIFT INFORMATION
  3874.     AH = 19h
  3875.     ???
  3876. Return: ???
  3877. SeeAlso: AH=18h,INT 16/AH=14h
  3878. --------V-101A00-----------------------------
  3879. INT 10 - VIDEO - GET DISPLAY COMBINATION CODE (PS,VGA/MCGA)
  3880.     AX = 1A00h
  3881. Return: AL = 1Ah if function was supported
  3882.         BL = active display code (see #00039)
  3883.         BH = alternate display code (see #00039)
  3884. Notes:    this function is commonly used to check for the presence of a VGA
  3885.     this function is supported on the ATI EGA Wonder with certain
  3886.       undocumented configuration switch settings, even though the EGA
  3887.       Wonder does not support VGA graphics; to distinguish this case,
  3888.       call AX=1C00h with CX nonzero, which the EGA Wonder does not support
  3889. SeeAlso: AH=12h/BL=35h,AX=1A01h,AH=1Bh,AH=1Ch,MEM 0040h:008Ah
  3890. Index:    installation check;VGA
  3891.  
  3892. (Table 00039)
  3893. Values for display combination code:
  3894.  00h    no display
  3895.  01h    monochrome adapter w/ monochrome display
  3896.  02h    CGA w/ color display
  3897.  03h    reserved
  3898.  04h    EGA w/ color display
  3899.  05h    EGA w/ monochrome display
  3900.  06h    PGA w/ color display
  3901.  07h    VGA w/ monochrome analog display
  3902.  08h    VGA w/ color analog display
  3903.  09h    reserved
  3904.  0Ah    MCGA w/ digital color display
  3905.  0Bh    MCGA w/ monochrome analog display
  3906.  0Ch    MCGA w/ color analog display
  3907.  FFh    unknown display type
  3908. --------V-101A01-----------------------------
  3909. INT 10 - VIDEO - SET DISPLAY COMBINATION CODE (PS,VGA/MCGA)
  3910.     AX = 1A01h
  3911.     BL = active display code (see #00039)
  3912.     BH = alternate display code
  3913. Return: AL = 1Ah if function was supported
  3914. SeeAlso: AH=12h/BL=35h,AX=1A00h
  3915. --------V-101B-------------------------------
  3916. INT 10 - VIDEO - FUNCTIONALITY/STATE INFORMATION (PS,VGA/MCGA)
  3917.     AH = 1Bh
  3918.     BX = implementation type
  3919.         0000h return funtionality/state information
  3920.     ES:DI -> 64-byte buffer for state information (see #00040)
  3921. Return: AL = 1Bh if function supported
  3922.         ES:DI buffer filled with state information
  3923. BUG:    Trident 8900 (BIOS D3.0 11/12/91) and Trident 9000 (C3.0 10/25/91)
  3924.       do not correctly set the fields at offsets 27h and 29h of the
  3925.       state information
  3926. SeeAlso: AH=15h,AX=1A00h,AX=1F01h
  3927.  
  3928. Format of MCGA+ state information:
  3929. Offset    Size    Description    (Table 00040)
  3930.  00h    DWORD    address of static funtionality table (see #00045)
  3931.  04h    BYTE    video mode in effect
  3932.  05h    WORD    number of columns
  3933.  07h    WORD    length of regen buffer in bytes
  3934.  09h    WORD    starting address of regen buffer
  3935.  0Bh    WORD    cursor position for page 0
  3936.  0Dh    WORD    cursor position for page 1
  3937.  0Fh    WORD    cursor position for page 2
  3938.  11h    WORD    cursor position for page 3
  3939.  13h    WORD    cursor position for page 4
  3940.  15h    WORD    cursor position for page 5
  3941.  17h    WORD    cursor position for page 6
  3942.  19h    WORD    cursor position for page 7
  3943.  1Bh    WORD    cursor "type" (start/stop scan lines)
  3944.  1Dh    BYTE    active display page
  3945.  1Eh    WORD    CRTC port address
  3946.  20h    BYTE    current setting of PORT 03x8h
  3947.  21h    BYTE    current setting of PORT 03x9h
  3948.  22h    BYTE    number of rows - 1
  3949.  23h    WORD    bytes/character
  3950.  25h    BYTE    display combination code of active display
  3951.  26h    BYTE    DCC of alternate display
  3952.  27h    WORD    number of colors supported in current mode (0000h = mono)
  3953.  29h    BYTE    number of pages supported in current mode
  3954.  2Ah    BYTE    number of scan lines active
  3955.         (0,1,2,3) = (200,350,400,480)
  3956.         Tseng ET3000: (4,5,6 = 512,600,768)
  3957.  2Bh    BYTE    primary character block
  3958.  2Ch    BYTE    secondary character block
  3959.  2Dh    BYTE    miscellaneous flags (see #00041)
  3960.  2Eh    BYTE    non-VGA mode support (see #00042)
  3961.  2Fh  2 BYTEs    reserved (00h)
  3962.  31h    BYTE    video memory available
  3963.         00h = 64K, 01h = 128K, 02h = 192K, 03h = 256K
  3964.  32h    BYTE    save pointer state flags (see #00043)
  3965.  33h    BYTE    display information and status (see #00044)
  3966.  34h 12 BYTEs    reserved (00h)
  3967.  
  3968. Bitfields for miscellaneous flags:
  3969. Bit(s)    Description    (Table 00041)
  3970.  0    all modes on all displays on
  3971.  1    gray summing on
  3972.  2    monochrome display attached
  3973.  3    default palette loading disabled
  3974.  4    cursor emulation enabled
  3975.  5    0 = intensity; 1 = blinking
  3976.  6    flat-panel display is active
  3977.  7    unused (0)
  3978. SeeAlso: #00040
  3979.  
  3980. Bitfields for non-VGA mode support:
  3981. Bit(s)    Description    (Table 00042)
  3982.  7-5    reserved
  3983.  4    132-column mode supported
  3984.  3    =1 MFI attributes enabled (see AH=12h/BL=37h)
  3985.     =0 VGA attributes
  3986.  2    16-bit VGA graphics present
  3987.  1    adapter interface driver required
  3988.  0    BIOS supports information return for adapter interface
  3989. SeeAlso: #00040
  3990.  
  3991. Bitfields for save pointer state flags:
  3992. Bit(s)    Description    (Table 00043)
  3993.  0    512 character set active
  3994.  1    dynamic save area present
  3995.  2    alpha font override active
  3996.  3    graphics font override active
  3997.  4    palette override active
  3998.  5    DCC override active
  3999.  6-7    unused (0)
  4000. SeeAlso: #00040
  4001.  
  4002. Bitfields for display information and status:
  4003. Bit(s)    Description    (Table 00044)
  4004.  7    640x480 flat-panel can be used simultaneously with CRT controller
  4005.  6-3    reserved
  4006.  2    color display
  4007.  1    flat-panel display active
  4008.  0    flat-panel display attached
  4009. SeeAlso: #00040
  4010.  
  4011. Format of Static Functionality Table:
  4012. Offset    Size    Description    (Table 00045)
  4013.  00h    BYTE    modes supported 1
  4014.         bit 0 to bit 7 = 1 modes 0,1,2,3,4,5,6,7 supported
  4015.  01h    BYTE    modes supported 2
  4016.         bit 0 to bit 7 = 1 modes 8,9,0Ah,0Bh,0Ch,0Dh,0Eh,0Fh supported
  4017.  02h    BYTE    modes supported 3
  4018.         bit 0 to bit 3 = 1 modes 10h,11h,12h,13h supported
  4019.         bit 4 to bit 7 unused (0)
  4020.  03h    BYTE    (IBM) reserved
  4021.         (Tseng ET3000/4000) modes supported 4
  4022.                 bit 0 to bit 7 = modes 18h-1Fh supported
  4023.  04h    BYTE    (IBM) reserved
  4024.         (Tseng ET3000/4000) modes supported 5
  4025.                 bit 0 to bit 7 = modes 20h-27h supported
  4026.  05h    BYTE    (IBM) reserved
  4027.         (Tseng ET3000/4000) modes supported 6
  4028.                 bit 0 to bit 7 = modes 28h-2Fh supported
  4029.  06h    BYTE    (IBM) reserved
  4030.         (Tseng ET3000/4000) modes supported 7
  4031.                 bit 0 to bit 7 = modes 30h-37h supported
  4032.  07h    BYTE    scan lines supported
  4033.         bit 0 to bit 2 = 1 if scan lines 200,350,400 supported
  4034.         bits 3-7 = unused (0)
  4035.  08h    BYTE    total number of character blocks available in text modes
  4036.  09h    BYTE    maximum number of active character blocks in text modes
  4037.  0Ah    WORD    miscellaneous function support flags (see #00046)
  4038.  0Ch    WORD    reserved
  4039.  0Eh    BYTE    save pointer function flags (see #00047)
  4040.  0Fh    BYTE    reserved
  4041. SeeAlso: #00040
  4042.  
  4043. Bitfields for miscellaneous function support flags:
  4044. Bit(s)    Description    (Table 00046)
  4045.  0    all modes on all displays function supported
  4046.  1    gray summing function supported
  4047.  2    character font loading function supported
  4048.  3    default palette loading enable/disable supported
  4049.  4    cursor emulation function supported
  4050.  5    EGA palette present
  4051.  6    color palette present
  4052.  7    color-register paging function supported
  4053.  8    light pen supported (see AH=04h)
  4054.  9    save/restore state function 1Ch supported
  4055.  10    intensity/blinking function supported (see AX=1003h)
  4056.  11    Display Combination Code supported (see #00039)
  4057.  12-15    unused (0)
  4058. SeeAlso: #00040
  4059.  
  4060. Bitfields for save pointer function flags:
  4061. Bit(s)    Description    (Table 00047)
  4062.  0    512 character set supported
  4063.  1    dynamic save area supported
  4064.  2    alpha font override supported
  4065.  3    graphics font override supported
  4066.  4    palette override supported
  4067.  5    DCC extension supported
  4068.  6-7    unused (0)
  4069. SeeAlso: #00040
  4070. --------V-101C-------------------------------
  4071. INT 10 - VIDEO - SAVE/RESTORE VIDEO STATE (PS50+,VGA)
  4072.     AH = 1Ch
  4073.     AL = function
  4074.         00h return state buffer size
  4075.         Return: BX = number of 64-byte blocks needed
  4076.         01h save video state
  4077.         ES:BX -> buffer
  4078.         02h restore video state
  4079.         ES:BX -> buffer containing previously saved state
  4080.     CX = requested states (see #00048)
  4081. Return: AL = 1Ch if function supported
  4082. Notes:    many BIOSes corrupt the video registers when saving the state, so a
  4083.       program should restore the state immediately after saving it (the
  4084.       saved data is uncorrupted)
  4085.     the BIOS data area consists of the 96 bytes from 0040h:0049h-00A8h
  4086.     this function is not supported when DOS/V is running
  4087.     this function may be a better VGA installation check than the usual
  4088.       INT 10/AX=1A00h, since some late-model EGA cards (such as the ATI
  4089.       EGA Wonder) supported that call
  4090. SeeAlso: AX=1A00h,AX=5F90h,AX=5FA0h,MEM 0040h:00A8h
  4091.  
  4092. Bitfields for requested states:
  4093. Bit(s)    Description    (Table 00048)
  4094.  0    video hardware (see #00049)
  4095.  1    BIOS data areas
  4096.  2    color registers and DAC state (see #00050)
  4097.  3-15    unused (0)
  4098. SeeAlso: #00186
  4099.  
  4100. Format of VGA video hardware state:
  4101. Offset    Size    Description    (Table 00049)
  4102.  00h    BYTE    sequencer index register
  4103.  01h    BYTE    CRTC index register
  4104.  02h    BYTE    graphics controller index register
  4105.  03h    BYTE    attribute controller index register
  4106.  04h    BYTE    feature controller register
  4107.  05h  4 BYTEs    sequencer registers
  4108.  09h    BYTE    sequencer register 0
  4109.  0Ah 25 BYTEs    CRTC registers 0-8
  4110.  23h 16 BYTEs    palette registers 00h-0Fh
  4111.  33h  4 BYTEs    attribute registers 10h-13h
  4112.  37h  9 BYTEs    graphics controller registers 0-8
  4113.  40h    BYTE    CRTC base address (low)
  4114.  41h    BYTE    CRTC base address (high)
  4115.  42h    BYTE    plane 0 latch
  4116.  43h    BYTE    plane 1 latch
  4117.  44h    BYTE    plane 2 latch
  4118.  45h    BYTE    plane 3 latch
  4119.  
  4120. Format of VGA DAC state:
  4121. Offset    Size    Description    (Table 00050)
  4122.  00h    BYTE    read/write mode DAC
  4123.  01h    BYTE    pixel address
  4124.  02h    BYTE    pixel mask
  4125.  03h 768 BYTEs    color data (256 triples)
  4126. 303h    BYTE    color select register
  4127. --------J-101D-------------------------------
  4128. INT 10 - VIDEO - DOS/V - SHIFT STATUS LINE CONTROL
  4129.     AH = 1Dh
  4130.     AL = function
  4131.         00h enable shift status line(s)
  4132.         BX = number of lines to reserve at bottom of screen (usu. 1)
  4133.         01h disable shift status line
  4134.         BX = number of lines reserved at bottom of screen (usually 1)
  4135.         02h get number of status lines
  4136.         Return: BX = number of lines reserved for shift status
  4137. SeeAlso: AH=19h
  4138. --------V-101D-------------------------------
  4139. INT 10 - SpeedSTAR Plus BIOS v4.23+ - SET SYNC PARAMETERS
  4140.     AH = 1Dh
  4141.     AL = video mode
  4142.     ES = caller's segment
  4143. Return: nothing
  4144. Note:    the caller's segment contains at offset 5Ch (FCB field in PSP)
  4145.       or 100h a table with sync parameters (see #00051) (BIOS looks at both
  4146.       offsets)
  4147.  
  4148. Format of SpeedSTAR Plus sync table:
  4149. Offset    Size    Description    (Table 00051)
  4150.  00h  9 BYTEs    ID contains string 'ey5CENTER'
  4151.  09h  5 BYTEs    sync parameters for 640x480 modes 11h,12h,25h,26h,2Eh
  4152.  0Bh  5 BYTEs    sync parameters for 800x600 modes 29h,30h,2Ah
  4153.  13h  5 BYTEs    sync parameters for 1024x768 modes 37h,38h
  4154. --------V-101D-------------------------------
  4155. INT 10 - Tseng ET-4000 BIOS v3.00 and v8.00 - BUG
  4156.     AH = 1Dh
  4157. Note:    these versions of the BIOS jump to a random location on this function
  4158.       due to a fencepost error
  4159. --------V-101DAABXFDEC-----------------------
  4160. INT 10 U - Diamond Stealth64 Video - INSTALLATION CHECK
  4161.     AX = 1DAAh
  4162.     BX = FDECh
  4163. Return: BX = CDEFh if Diamond Stealth64 Video 2001-series video card installed
  4164.         AL = number of megabytes of video memory
  4165.         AH = card type??? (4Bh for VL-Bus/5Bh for PCI)
  4166.         CX = ??? (0000h)
  4167.         SI:DI -> signature/copyright string
  4168. --------V-101E00-----------------------------
  4169. INT 10 - VIDEO - FLAT-PANEL - READ INFORMATION
  4170.     AX = 1E00h
  4171. Return: AL = 1Eh if function supported
  4172.         BL = flat-panel status (see #00052)
  4173.         ES:DI -> information table (see #00053)
  4174. Note:    IBM classifies this function as optional
  4175. SeeAlso: AX=1E01h,AX=1E02h,AX=1E03h,AX=1E04h,AX=1E05h,AX=1EFEh
  4176.  
  4177. Bitfields for flat-panel status:
  4178. Bit(s)    Description    (Table 00052)
  4179.  7-3    reserved
  4180.  2    color display
  4181.  1    flat panel is active
  4182.  0    flat panel is attached
  4183. SeeAlso: #00053
  4184.  
  4185. Format of flat-panel information table:
  4186. Offset    Size    Description    (Table 00053)
  4187.  00h    BYTE    number of WORDs in the remainder of the table
  4188.  01h    WORD    number of vertical pixels per meter
  4189.  03h    WORD    number of horizontal pixels per meter
  4190.  05h    WORD    total number of vertical pixels
  4191.  07h    WORD    total number of horizontal pixels
  4192.  09h    WORD    vertical pixel separation in micrometers (center-to-center)
  4193.  0Bh    WORD    horizontal pixel separation in micrometers
  4194.  0Dh    WORD    range of gray levels available, less 1
  4195.  0Fh    WORD    number of red levels available, less 1 (0000h if nonochrome)
  4196.  11h    WORD    number of green levels available, less 1 (0000h if nonochrome)
  4197.  13h    WORD    number of blue levels available, less 1 (0000h if nonochrome)
  4198. SeeAlso: #00052
  4199. --------V-101E01-----------------------------
  4200. INT 10 - VIDEO - FLAT-PANEL - LCD/CRT DISPLAY CONTROL
  4201.     AX = 1E01h
  4202.     BH = function
  4203.         bit 7: =1 set display control, =0 query control
  4204.         bits 6-0: reserved (0)
  4205.     ---if BH bit 7 set---
  4206.     BL = new display combination (see #00054)
  4207. Return: AL = 1Eh if function supported
  4208.         BH = results
  4209.         bit 7: query/set (copied from input)
  4210.         bits 6-3: reserved (0)
  4211.         bit 2: simultaneous display is supported by hardware
  4212.         bit 1: LCD/CRT display control supported by hardware
  4213.         bit 0: set operation was successful (always clear on get)
  4214.         BL = active display combination (see #00054)
  4215. SeeAlso: AX=1E00h,AX=1E02h
  4216.  
  4217. Bitfields for Flat-Panel display combination:
  4218. Bit(s)    Description    (Table 00054)
  4219.  7-2    reserved (0)
  4220.  1-0    combination
  4221.     00 reserved
  4222.     01 LCD active
  4223.     10 CRT active
  4224.     11 both LCD and CRT active (simultaneous display)
  4225. SeeAlso: #00055
  4226. --------V-101E02-----------------------------
  4227. INT 10 - VIDEO - FLAT-PANEL - DISPLAY POSITION
  4228.     AX = 1E02h
  4229.     BH = function
  4230.         bit 7: =1 set display position, =0 query position
  4231.         bits 6-0: reserved (0)
  4232.     ---if BH bit 7 set---
  4233.     BL = new position setting (see #00055)
  4234. Return: AL = 1Eh if function supported
  4235.         BH = results
  4236.         bit 7: query/set (copied from input)
  4237.         bits 6-4: reserved (0)
  4238.         bit 3: positioning to top is supported by hardware
  4239.         bit 2: positioning to center is supported by hardware
  4240.         bit 1: positioning to bottom is supported by hardware
  4241.         bit 0: set operation was successful (always clear on get)
  4242.         BL = active position setting (see #00055)
  4243. SeeAlso: AX=1E00h,AX=1E01h
  4244.  
  4245. Bitfields for Flat-Panel position setting:
  4246. Bit(s)    Description    (Table 00055)
  4247.  7-2    reserved (0)
  4248.  1-0    position
  4249.     00 center
  4250.     01 top
  4251.     10 bottom
  4252.     11 reserved
  4253. SeeAlso: #00054,#00056
  4254. --------V-101E03-----------------------------
  4255. INT 10 - VIDEO - FLAT-PANEL - VERTICAL EXPANSION FOR TEXT/GRAPHICS MODES
  4256.     AX = 1E03h
  4257.     BH = function
  4258.         bit 7: =1 set vertical expansion, =0 query expansion
  4259.         bits 6-0: reserved (0)
  4260.     ---if BH bit 7 set---
  4261.     BL = new vertical expansion setting (see #00056)
  4262. Return: AL = 1Eh if function supported
  4263.         BH = results
  4264.         bit 7: query/set (copied from input)
  4265.         bits 6-4: reserved (0)
  4266.         bit 3: vertical expansion of text is supported by hardware
  4267.         bit 2: vertical expansion of graphics is supported by hardware
  4268.         bit 1: hardware supports independent control of expansion in
  4269.             text and graphics modes
  4270.         bit 0: set operation was successful (always clear on get)
  4271.         BL = active vertical expansion setting (see #00056)
  4272. SeeAlso: AX=1E00h,AX=1E02h.AX=1E04h
  4273.  
  4274. Bitfields for Flat-Panel vertical expansion setting:
  4275. Bit(s)    Description    (Table 00056)
  4276.  7-2    reserved (0)
  4277.  1    vertical expansion turned on for text modes
  4278.  0    vertical expansion turned on for graphics modes
  4279. SeeAlso: #00054,#00055,#00057
  4280. --------V-101E04-----------------------------
  4281. INT 10 - VIDEO - FLAT-PANEL - NORMAL/REVERSE VIDEO FOR TEXT/GRAPHICS MODES
  4282.     AX = 1E04h
  4283.     BH = function
  4284.         bit 7: =1 set normal/reverse video, =0 query normal/reverse
  4285.         bits 6-0: reserved (0)
  4286.     ---if BH bit 7 set---
  4287.     BL = new normal/reverse video setting (see #00057)
  4288. Return: AL = 1Eh if function supported
  4289.         BH = results
  4290.         bit 7: query/set (copied from input)
  4291.         bits 6-4: reserved (0)
  4292.         bit 3: hardware supports reverse video for text modes
  4293.         bit 2: hardware supports reverse video for graphics modes
  4294.         bit 1: hardware supports independent control of reverse video
  4295.               in text and graphics modes
  4296.         bit 0: set operation was successful (always clear on get)
  4297.         BL = active normal/reverse video setting (see #00057)
  4298. SeeAlso: AX=1E00h,AX=1E03h,AX=1E05h
  4299.  
  4300. Bitfields for Flat-Panel normal/reverse video setting:
  4301. Bit(s)    Description    (Table 00057)
  4302.  7-2    reserved (0)
  4303.  1    reverse video for text
  4304.  0    reverse video for graphics
  4305. SeeAlso: #00054,#00056,#00058,#00059
  4306. --------V-101E05-----------------------------
  4307. INT 10 - VIDEO - FLAT-PANEL - BRIGHTNESS CONTROL
  4308.     AX = 1E05h
  4309.     BH = function
  4310.         bit 7: =1 set brightness, =0 query brightness
  4311.         bits 6-0: reserved (0)
  4312.     ---if BH bit 7 set---
  4313.     BL = new brightness setting (see #00058)
  4314. Return: AL = 1Eh if function supported
  4315.         BH = results
  4316.         bit 7: query/set (copied from input)
  4317.         bits 6-2: reserved (0)
  4318.         bit 1: software brightness control is supported
  4319.         bit 0: set operation was successful (always clear on get)
  4320.         BL = active brightness setting (see #00058)
  4321. Note:    this function operates independently of AX=1E07h
  4322. SeeAlso: AX=1E00h,AX=1E04h,AX=1E06h,AX=1E07h
  4323.  
  4324. Bitfields for Flat-Panel brightness control:
  4325. Bit(s)    Description    (Table 00058)
  4326.  7-1    reserved (0)
  4327.  0    high brightness
  4328. SeeAlso: #00057,#00059
  4329. --------V-101E06-----------------------------
  4330. INT 10 - VIDEO - FLAT-PANEL - CONTRAST CONTROL FOR TEXT/GRAPHICS
  4331.     AX = 1E06h
  4332.     BH = function
  4333.         bit 7: =1 set contrast control, =0 query contrast
  4334.         bits 6-0: reserved (0)
  4335.     ---if BH bit 7 set---
  4336.     BL = new normal/reverse video setting (see #00059)
  4337. Return: AL = 1Eh if function supported
  4338.         BH = results
  4339.         bit 7: query/set (copied from input)
  4340.         bits 6-4: reserved (0)
  4341.         bit 3: software contrast control supported for text
  4342.         bit 2: software contrast control supported for graphics
  4343.         bit 1: hardware supports independent control of contrast
  4344.               in text and graphics modes
  4345.         bit 0: set operation was successful (always clear on get)
  4346.         BL = active contrast setting (see #00059)
  4347. Note:    this function operates independently of AX=1E08h
  4348. SeeAlso: AX=1E00h,AX=1E04h,AX=1E05h,AX=1E07h,AX=1E08h
  4349.  
  4350. Bitfields for Flat-Panel contrast control:
  4351. Bit(s)    Description    (Table 00059)
  4352.  7-2    reserved (0)
  4353.  1    high contrast for text
  4354.  0    high contrast for graphics
  4355. SeeAlso: #00057,#00058
  4356. --------V-101E07-----------------------------
  4357. INT 10 - VIDEO - FLAT-PANEL - BRIGHTNESS SETTING
  4358.     AX = 1E07h
  4359.     BH = function
  4360.         bit 7: =1 set brightness control, =0 query brightness
  4361.         bit 6: use standard brightness
  4362.         bits 5-0: reserved (0)
  4363.     ---if BH bits 7,6=10---
  4364.     BL = brightness (00h = minimum, FFh = maximum)
  4365. Return: AL = 1Eh if function supported
  4366.         BH = results
  4367.         bit 7: query/set (copied from input)
  4368.         bit 6: standard/custom (copied from input)
  4369.         bits 5-2: reserved (0)
  4370.         bit 1: software brightness control is supported
  4371.         bit 0: set operation was succesful (always clear on get)
  4372.         BL = brightness (00h = minimum, FFh = maximum)
  4373. Note:    this function operates independently of AX=1E05h
  4374. SeeAlso: AX=1E00h,AX=1E05h,AX=1E08h
  4375. --------V-101E08-----------------------------
  4376. INT 10 - VIDEO - FLAT-PANEL - CONTRAST SETTING
  4377.     AX = 1E08h
  4378.     BH = function
  4379.         bit 7: =1 set contrast control, =0 query contrast
  4380.         bit 6: use standard contrast
  4381.         bits 5-0: reserved (0)
  4382.     ---if BH bits 7,6=10---
  4383.     BL = contrast (00h = minimum, FFh = maximum)
  4384. Return: AL = 1Eh if function supported
  4385.         BH = results
  4386.         bit 7: query/set (copied from input)
  4387.         bit 6: standard/custom (copied from input)
  4388.         bits 5-2: reserved (0)
  4389.         bit 1: software contrast control is supported
  4390.         bit 0: set operation was succesful (always clear on get)
  4391.         BL = contrast (00h = minimum, FFh = maximum)
  4392. Note:    this function operates independently of AX=1E06h
  4393. SeeAlso: AX=1E00h,AX=1E06h,AX=1E07h
  4394. --------V-101EFE-----------------------------
  4395. INT 10 - VIDEO - FLAT-PANEL - FUNCTION SUPPORT FLAG
  4396.     AX = 1EFEh
  4397.     ES:DI -> DWORD buffer for bitmap of supported functions
  4398.         (set to all zeros before calling)
  4399. Return: ES:DI buffer updated with mask of supported functions
  4400. Index:    installation check;flat-panel display support
  4401. SeeAlso: AX=1E00h,AX=1E06h
  4402. --------V-101F00-----------------------------
  4403. INT 10 - VIDEO - XGA - GET DMQS (Display Mode Query and Set) DATA LENGTH
  4404.     AX = 1F00h
  4405. Return: AL = 1Fh if supported
  4406.         BX = number of bytes of DMQS data
  4407. Note:    not supported on the original IBM XGA, only on XGA-NI (non-interlaced)
  4408.       and later models.
  4409. SeeAlso: AX=1F01h
  4410. --------V-101F01-----------------------------
  4411. INT 10 - VIDEO - XGA - READ DMQS DATA
  4412.     AX = 1F01h
  4413.     ES:DI -> user buffer for return data (call AX=1F00h for size)
  4414. Return: AL = 1Fh if function supported
  4415.     user buffer filled with DMQS data (see #00060)
  4416. Note:    not supported on the original IBM XGA, only on XGA-NI (non-interlaced)
  4417.       and later models.
  4418. SeeAlso: AH=1Bh,AX=1F00h,AX=3000h
  4419.  
  4420. Format of XGA DMQS buffer:
  4421. Offset    Size    Description    (Table 00060)
  4422.  00h    WORD    offset (in bytes) to DMQS data for next XGA instance
  4423.  02h    BYTE    slot number
  4424.  03h    BYTE    XGA implementation function level identifier
  4425.  04h    BYTE    XGA implementation resolution level identifier
  4426.  05h    WORD    vendor identifier - identifies card vendor
  4427.  07h    WORD    vendor defined field
  4428.  09h    WORD    XGA adapter I/O register base address
  4429.  0Bh    WORD    XGA coprocessor register base address
  4430.         (paragraph--multiply by 10h to get physical address)
  4431.  0Dh    WORD    1 Megabyte system video memory aperture
  4432.         0000h if not allocated
  4433.         (Multiply by 100000h to get physical address)
  4434.  0Fh    WORD    4 Megabyte system video memory aperture
  4435.         0000h if not allocated
  4436.         (multiply by 100000h to get physical address)
  4437.  11h    WORD    video memory base address
  4438.         (multiply by 100000h to get physical address)
  4439.  13h    WORD    composite ID of the attached display
  4440.  15h    BYTE    amount of video memory available, in multiples of 256K bytes
  4441.  16h    DWORD    alternate XGA coprocessor register base address.  0 = none.
  4442.  1Ah    var    DMQS Data for further XGA Instances (as above)
  4443. Note:    "Instances" refers to the capability of having up to 8 XGA
  4444.       adapters in one computer.
  4445. SeeAlso: #00061
  4446. --------V-101F02-----------------------------
  4447. INT 10 - VIDEO - XGA - GET SVGA DMQS DATA LENGTH
  4448.     AX = 1F02h
  4449. Return: AL = 1Fh if function supported
  4450.         BX = length of SVGA DMQS data in bytes
  4451. SeeAlso: AX=1F00h,AX=1F03h
  4452. --------V-101F03-----------------------------
  4453. INT 10 - VIDEO - XGA - GET SVGA DMQS DATA
  4454.     AX = 1F03h
  4455.     ES:DI -> buffer for SVGA DMQS data (see #00061)
  4456. Return: AL = 1Fh if function supported
  4457.         ES:DI buffer filled
  4458. SeeAlso: AX=1F00h,AX=1F02h
  4459.  
  4460. Format of SVGA DMQS data:
  4461. Offset    Size    Description    (Table 00061)
  4462.  00h    WORD    offset to DMQS data for next SVGA instance or 0000h
  4463.  02h    BYTE    reserved
  4464.  03h    BYTE    SVGA implementation functional level
  4465.  04h    BYTE    SVGA implementation resolution level
  4466.  05h    WORD    vendor ID
  4467.  07h    WORD    vendor-specific
  4468.  09h  7 BYTEs    reserved
  4469.  10h    BYTE    SVGA linear address window size
  4470.         00h 64K
  4471.         01h 1M
  4472.         02h 2M
  4473.         03h 4M
  4474.  11h    WORD    SVGA linear address window location or 0000h if not allocated
  4475.         (multiply by 10000h [shift left 16 bits] to get physical addr)
  4476.  13h    WORD    attached monitor's composite monitor ID
  4477.  15h    BYTE    available video RAM in multiples of 256K
  4478.  16h 11 BYTEs    reserved
  4479. SeeAlso: #00060
  4480. --------V-103000CX0000-----------------------
  4481. INT 10 - VIDEO - LOCATE 3270PC CONFIGURATION TABLE (INSTALLATION CHECK)
  4482.     AX = 3000h
  4483.     CX = 0000h
  4484.     DX = 0000h
  4485. Return: CX:DX -> 3270PC configuration table (see #00062)
  4486.     CX:DX = 0000h:0000h if 3270PC Control Program not active
  4487. SeeAlso: AX=1F01h
  4488.  
  4489. Format of 3270 PC configuration table:
  4490. Offset    Size    Description    (Table 00062)
  4491.  00h    BYTE    aspect ratio X
  4492.  01h    BYTE    aspect ratio Y
  4493.  02h    BYTE    monitor type (see #00063)
  4494.  03h    BYTE    reserved
  4495.  04h    BYTE    adapter ID
  4496.         00h = 5151/5272 adapter
  4497.         04h = 5151/5272 with XGA adapter
  4498.         30h = 3295 or 3270PC G/GX adapter
  4499.  05h    BYTE    reserved
  4500.  06h    BYTE    function flags 1 (see #00064)
  4501.  07h    BYTE    function flags 2
  4502.         bit 6: GPI graphics supported
  4503.  08h    WORD    segment address of Control Program Level table (see #00065)
  4504.  0Ah 10 BYTEs    reserved
  4505.  
  4506. (Table 00063)
  4507. Values for 3270 PC monitor type:
  4508.  00h    5151 (mono) or 5272 (color)
  4509.  01h    3295
  4510.  02h    5151 or 5272 with XGA (???) graphics adapter
  4511.  03h    5279 with 3270PC G adapter
  4512.  04h    5379 model C01 with 3270PC GX adapter
  4513.  05h    5379 model M01 with 3270PC GX adapter
  4514.  07h    non-3270PC with 3270 Workstation Program
  4515.  FFh    3270PC Control Program not loaded
  4516.  
  4517. Bitfields for 3270 PC function flags 1:
  4518. Bit(s)    Description    (Table 00064)
  4519.  7    mono text, 1 page
  4520.  6    color text, 1 page
  4521.  5    color text, 4 pages
  4522.  4    CGA color graphics
  4523.  3    720x350 two-color graphics
  4524.  2    360x350 four-color graphics
  4525.  1    720x350 eight-color graphics
  4526.  
  4527. Format of Control Program Level table:
  4528. Offset    Size    Description    (Table 00065)
  4529.  00h    WORD    program version
  4530.         02xxh = 3270PC Control Program v2.xx
  4531.         03xxh = 3270PC Control Program v3.xx
  4532.         04xxh = 3270 Workstation Program v1.xx
  4533.  02h    BYTE    Control Program ID (00h)
  4534.  03h 27 BYTEs    Control Program Descriptor ("IBM 3270 PC CONTROL PROGRAM")
  4535. --------a-103800-----------------------------
  4536. INT 10 - Tinytalk Personal v1.09f+ - GET CONFIGURATION INFO
  4537.     AX = 3800h
  4538. Return: ES:DI -> configuration info (see #00066)
  4539. Program: Tinytalk is a shareware screen reader by OMS Development/Eric Bohlman
  4540. Notes:    this call is also used as the installation check by verifying that the
  4541.       returned ES:DI points at valid configuration info
  4542.     Tinytalk v1.09f ignores AL and always returns the configuration info;
  4543.       v1.10 adds several subfunctions selected with AL
  4544. SeeAlso: AX=3801h,AX=3803h,AX=3806h,AH=39h,INT 14/AX=F0F1h
  4545. SeeAlso: INT 2F/AX=FB00h"AutoBraille"
  4546. Index:    installation check;Tinytalk Personal
  4547.  
  4548. Format of Tinytalk Personal configuration info:
  4549. Offset    Size    Description    (Table 00066)
  4550.  00h  8 BYTEs    signature "TTCONFIG"
  4551.  08h    WORD    size of configuration data, not counting signature, this WORD,
  4552.           or the following byte
  4553.  0Ah    BYTE    ???
  4554.  0Bh    ???    configuration data
  4555. --------a-103801-----------------------------
  4556. INT 10 - Tinytalk Personal v1.10 - ???
  4557.     AX = 3801h
  4558.     DL = ???
  4559. Return: ???
  4560. SeeAlso: AX=3800h,AX=3802h
  4561. --------a-103802-----------------------------
  4562. INT 10 - Tinytalk Personal v1.10 - ???
  4563.     AX = 3802h
  4564.     DL = ???
  4565. Return: ???
  4566. SeeAlso: AX=3800h,AX=3801h
  4567. --------a-103803-----------------------------
  4568. INT 10 - Tinytalk Personal v1.10 - GET ???
  4569.     AX = 3803h
  4570. Return: AL = ???
  4571. SeeAlso: AX=3800h,AX=3804h,AX=3805h
  4572. --------a-103804-----------------------------
  4573. INT 10 - Tinytalk Personal v1.10 - GET ???
  4574.     AX = 3804h
  4575. Return: AX = ???
  4576. SeeAlso: AX=3800h,AX=3803h,AX=3805h
  4577. --------a-103805-----------------------------
  4578. INT 10 - Tinytalk Personal v1.10 - GET ???
  4579.     AX = 3805h
  4580. Return: AL = ???
  4581. SeeAlso: AX=3800h,AX=3803h,AX=3804h
  4582. --------a-103806-----------------------------
  4583. INT 10 - Tinytalk Personal v1.10 - ???
  4584.     AX = 3806h
  4585.     ES:DX -> ASCIZ ???
  4586. Return: ???
  4587. SeeAlso: AX=3800h
  4588. --------a-1039-------------------------------
  4589. INT 10 - Tinytalk Personal v1.10 - ???
  4590.     AH = 39h
  4591. Program: Tinytalk is a shareware screen reader by OMS Development/Eric Bohlman
  4592. Note:    this function was a NOP in TTDEMO.EXE, but may be implemented in other
  4593.       variants of Tinytalk
  4594. --------V-1040-------------------------------
  4595. INT 10 - VIDEO - Hercules GRAFIX - "GMODE" - SET GRAPHICS MODE
  4596.     AH = 40h
  4597. Return: nothing
  4598. Desc:    switch the Hercules Graphics Card into graphics mode (720x348)
  4599. SeeAlso: AH=00h,AH=41h
  4600. Index:    video modes;Hercules
  4601. --------V-1041-------------------------------
  4602. INT 10 - VIDEO - Hercules GRAFIX - "TMODE" - SET TEXT MODE
  4603.     AH = 41h
  4604. Return: nothing
  4605. Desc:    switch the Hercules Graphics Card into text mode
  4606. SeeAlso: AH=00h,AH=40h
  4607. Index:    video modes;Hercules
  4608. --------V-1042-------------------------------
  4609. INT 10 - VIDEO - Hercules GRAFIX - "CLRSCR" - CLEAR CURRENT PAGE
  4610.     AH = 42h
  4611. Return: nothing
  4612. SeeAlso: AH=45h
  4613. --------V-1043-------------------------------
  4614. INT 10 - VIDEO - Hercules GRAFIX - "GPAGE" - SELECT DRAWING PAGE
  4615.     AH = 43h
  4616.     AL = page number (0,1)
  4617. Return: nothing
  4618. Desc:    specify which of the two pages of video memory is to be used for
  4619.       output
  4620. SeeAlso: AH=05h,AH=44h,AH=45h
  4621. --------V-1044-------------------------------
  4622. INT 10 - VIDEO - Hercules GRAFIX - "LEVEL" - SELECT DRAWING FUNCTION
  4623.     AH = 44h
  4624.     AL = drawing function
  4625.         00h clear pixels
  4626.         01h set pixels
  4627.         02h invert pixels
  4628. Return: nothing
  4629. Desc:    specify how graphics output will change the display
  4630. SeeAlso: AH=45h,AH=46h,AH=4Ch,AH=4Dh
  4631. --------V-1045-------------------------------
  4632. INT 10 - VIDEO - Hercules GRAFIX - "DISP" - SELECT PAGE TO DISPLAY
  4633.     AH = 45h
  4634.     AL = page number (0,1)
  4635. Return: nothing
  4636. Desc:    specify which of the two pages of video memory is visible on screen
  4637. SeeAlso: AH=05h,AH=42h,AH=43h
  4638. --------V-1046-------------------------------
  4639. INT 10 - VIDEO - Hercules GRAFIX - "PLOT" - DRAW ONE PIXEL
  4640.     AH = 46h
  4641.     DI = x (0-719)
  4642.     BP = y (0-347)
  4643. Return: nothing
  4644. Notes:    function 44h determines operation and function 43h which page to use
  4645.     if the indicated coordinate is valid, this function does nothing
  4646. SeeAlso: AH=0Ch,AH=47h,AH=49h,AH=4Ch,AH=4Dh
  4647. --------V-1047-------------------------------
  4648. INT 10 - VIDEO - Hercules GRAFIX - "GETPT" - FIND PIXEL VALUE
  4649.     AH = 47h
  4650.     DI = x (0-719)
  4651.     BP = y (0-347)
  4652. Return: AL = 00h pixel clear
  4653.     AL = 01h pixel set
  4654. Note:    function 43h specifies which page is used
  4655. SeeAlso: AH=0Dh,AH=46h
  4656. --------V-1048-------------------------------
  4657. INT 10 - VIDEO - Hercules GRAFIX - "MOVE" - MOVE TO POINT
  4658.     AH = 48h
  4659.     DI = x (0-719)
  4660.     BP = y (0-347)
  4661. Return: nothing
  4662. Desc:    specify the location from which to start the next graphics output
  4663. SeeAlso: AH=49h
  4664. --------V-1049-------------------------------
  4665. INT 10 - VIDEO - Hercules GRAFIX - "DLINE" - DRAW TO POINT
  4666.     AH = 49h
  4667.     DI = x (0-719)
  4668.     BP = y (0-347)
  4669. Return: nothing
  4670. Note:    function 48h or 49h specify first point, 44h operation and 43h page to
  4671.       use
  4672. SeeAlso: AH=43h,AH=44h,AH=48h,AH=4Ch,AH=4Dh
  4673. --------V-104A-------------------------------
  4674. INT 10 - VIDEO - Hercules GRAFIX - "BLKFIL" - BLOCK FILL
  4675.     AH = 4Ah
  4676.     DI = x coordinate of lower left corner
  4677.     BP = y coordinate of lower left corner
  4678.     BX = height in pixels
  4679.     CX = width in pixels
  4680. Return: nothing
  4681. Desc:    draw a solid rectangle of the specified size at the given location
  4682. SeeAlso: AH=4Eh
  4683. --------V-104B-------------------------------
  4684. INT 10 - VIDEO - Hercules GRAFIX - "TEXT" - DISPLAY CHARACTER
  4685.     AH = 4Bh
  4686.     AL = character to display
  4687.     DI = x (0-719)
  4688.     BP = y (0-347)
  4689. Return: nothing
  4690. Notes:    unlike the other BIOS character functions character position is
  4691.       specified in pixels rather than rows and columns
  4692.     the character is writting using the drawing function last specified by
  4693.       AH=44h
  4694. SeeAlso: AH=09h,AH=0Ah
  4695. --------P-104B-------------------------------
  4696. INT 10 - FRIEZE - API
  4697.     AH = 4Bh
  4698.     CL = function
  4699.         00h (v6.x-) print window
  4700.         AL = mode
  4701.             00h character
  4702.             01h normal
  4703.             02h sideways
  4704.         01h load window
  4705.         ES:BX -> ASCIZ filename from which to read
  4706.         02h save window
  4707.         ES:BX -> ASCIZ filename to which to write
  4708.         03h set print width
  4709.         AL = width in 1/4 inches
  4710.         04h set print height
  4711.         AL = height in 1/4 inches
  4712.         05h reserved
  4713.         06h set left margin
  4714.         AL = printout margin in 1/4 inches
  4715.         07h set window size
  4716.         ES:BX -> four-WORD structure with Xmin, Ymin, Xmax, Ymax
  4717.         08h reserved
  4718.         09h set patterns
  4719.         ES:BX -> 16-BYTE vector of screen->printer color correspondnces
  4720.         0Ah get patterns
  4721.         ES:BX -> 16-BYTE buffer for color correspondences
  4722.         0Bh set mode
  4723.         AL = mode
  4724.         0Ch (v7.41) ???
  4725.         AL = ???
  4726.             00h ??? (calls original INT 05)
  4727.             else ???
  4728.         0Dh (v7.41) ???
  4729.         AL = ???
  4730.             00h ??? (calls original INT 05)
  4731.             else ???
  4732.         0Eh (v7.41) ???
  4733.         ???
  4734.         0Fh get window
  4735.         ES:BX -> four-WORD buffer for Xmin, Ymin, Xmax, Ymax
  4736.         10h set print options
  4737.         ES:BX -> printer options in same format as FRIEZE cmdline
  4738.         11h initialize
  4739.         ES:BX -> three-WORD array from CARDS.DAT for HRes, VRes, code
  4740.         12h (v7.41) ???
  4741.         ???
  4742.         13h (v7.41) ???
  4743.         ???
  4744.         14h get version
  4745.         Return: AH = major version (00h if FRIEZE version before 7)
  4746.             AL = minor version
  4747.         15h set parameters
  4748.         ES:BX -> parameter table (see #00068)
  4749.         16h get parameters
  4750.         ES:BX -> buffer for parameter table (see #00068)
  4751.         17h get printer resolution
  4752.         ES:BX -> 12-WORD table for six horizontal/vertical resol pairs
  4753.         18h (v8.0 only) reserved
  4754.         50h (v7.41) get ???
  4755.         Return: AX = ???
  4756.         51h (v7.41) get ???
  4757.         Return: ES = ??? (seen 2348h)
  4758.             AX = ??? (seen 8432h)
  4759. Return: AX = status (see #00067)
  4760. SeeAlso: AH=0Fh/SI=F123h
  4761.  
  4762. (Table 00067)
  4763. Values for FRIEZE function status:
  4764.  00h    successful
  4765.  01h    user aborted printout with ESC
  4766.  02h    reserved
  4767.  03h    file read error
  4768.  04h    file write error or printer error
  4769.  05h    file not found
  4770.  06h    invalid header (not an image or wrong screen mode) or can't create file
  4771.  07h    file close error
  4772.  08h    disk error
  4773.  09h    (v7.0+) printer error
  4774.  0Ah    invalid function
  4775.  0Bh    (v7.0+) can't create file
  4776.  0Ch    (v7.0+) wrong video mode
  4777.  
  4778. Format of FRIEZE parameter table:
  4779. Offset    Size    Description    (Table 00068)
  4780.  00h    WORD    top margin (1/100 inch)
  4781.  02h    WORD    left margin (1/100 inch)
  4782.  04h    WORD    horizontal size (1/100 inch)
  4783.  06h    WORD    vertical size (1/100 inch)
  4784.  08h    WORD    quality/draft mode
  4785.         00h draft mode
  4786.         01h quality mode
  4787.         02h use horizontal/vertical resolution for output resolution
  4788.  0Ah    WORD    printer horizontal resolution (dots per inch)
  4789.  0Ch    WORD    printer vertical resolution (dots per inch)
  4790.  0Eh    WORD    reserved (FFFFh)
  4791. Note:    any field which should remain unchanged may be filled with FFFFh
  4792. --------V-104C-------------------------------
  4793. INT 10 - VIDEO - Hercules GRAFIX - "ARC" - DRAW ARC
  4794.     AH = 4Ch
  4795.     AL = quadrant (1 = upper right, 2 = upper left, etc)
  4796.     DI = x coordinate of center
  4797.     BP = y coordinate of center
  4798.     BX = radius
  4799. Return: nothing
  4800. SeeAlso: AH=49h,AH=4Dh
  4801. --------V-104D-------------------------------
  4802. INT 10 - VIDEO - Hercules GRAFIX - "CIRC" - DRAW CIRCLE
  4803.     AH = 4Dh
  4804.     DI = x of center
  4805.     BP = y of center
  4806.     BX = radius
  4807. Return: nothing
  4808. SeeAlso: AH=49h,AH=4Ch
  4809. --------V-104E-------------------------------
  4810. INT 10 - VIDEO - Hercules GRAFIX - "FILL" - FILL AREA
  4811.     AH = 4Eh
  4812.     DI = x coordinate of an interior point
  4813.     BP = y coordinate of an interior point
  4814. Return: nothing
  4815. Desc:    fill a convex polygonal area bounded by a contiguous line of the
  4816.       opposite color with the border color
  4817. Note:    the first fill makes the figure solid, the second erases it
  4818. SeeAlso: AH=4Ah
  4819. --------V-104E00-----------------------------
  4820. INT 10 - VESA XGA BIOS Extensions - GET XGA ENVIRONMENT INFORMATION
  4821.     AX = 4E00h
  4822.     ES:DI -> 256-byte buffer for XGA information (see #00069)
  4823. Return: AL = 4Eh if function supported
  4824.         AH = status
  4825.         00h successful
  4826.         else error code
  4827. Desc:    determine whether VESA XGA extensions are present and the capabilities
  4828.       supported by the display adapter
  4829. SeeAlso: AX=4E01h,AX=4E02h,AX=4F00h
  4830. Index:    installation check;VESA XGA
  4831.  
  4832. Format of XGA information buffer:
  4833. Offset    Size    Description    (Table 00069)
  4834.  00h  4 BYTEs    signature ("VESA")
  4835.  04h    WORD    VESA version number
  4836.  06h    DWORD    pointer to ASCIZ OEM string
  4837.  0Ah    DWORD    environment flags (see #00070)
  4838.  0Eh    WORD    number of XGA adapters installed (other VESA XGA functions
  4839.           require a handle indicating which adapter to use)
  4840.  10h 240 BYTEs    reserved
  4841.  
  4842. Bitfields for XGA environment flags:
  4843. Bit(s)    Description    (Table 00070)
  4844.  0-1    system bus (00 = MCA, 01 = ISA, 10 = EISA)
  4845.  2    bus mastering available
  4846.  3-31    reserved
  4847. --------V-104E01----------------------------
  4848. INT 10 - VESA XGA BIOS Extensions - RETURN XGA SUBSYSTEM INFORMATION
  4849.     AX = 4E01h
  4850.     DX = XGA handle (0 to number of XGAs-1)
  4851.     ES:DI -> 256-byte buffer for subsystem information (see #00071)
  4852. Return: AL = 4Eh if function supported
  4853.     AH = status
  4854.         00h     function successful
  4855.         else error code
  4856. SeeAlso: AX=4E00h,AX=4E02h
  4857.  
  4858. Format of XGA subsystem information:
  4859. Offset    Size    Description    (Table 00071)
  4860.  00h    DWORD    pointer to null-terminated board OEM string
  4861.  04h    DWORD    capabilities (see #00072)
  4862.  08h    DWORD    pointer to 8KB XGA ROM (or NULL)
  4863.  0Ch    DWORD    pointer to the XGA memory mapped registers
  4864.  10h    WORD    base address of XGA I/O registers (21x0h)
  4865.  12h    DWORD    pointer to start of physical video memory
  4866.         (A000h:0000h or B000h:0000h)
  4867.  16h    DWORD    physical address of 4MB aperture (or NULL if none)
  4868.  1Ah    DWORD    physical address of 1MB aperture (or NULL if none)
  4869.  1Eh    DWORD    physical address of 64KB aperture (or NULL if not enabled)
  4870.  22h    DWORD    physical address of OEM aperture (or NULL if none)
  4871.  26h    WORD    size of OEM aperture in 64KByte units
  4872.  28h    DWORD    pointer to list of video modes
  4873.         The list is a series of WORDs terminated by FFFFh
  4874.  2Ch    WORD    number of 64KB blocks on the board
  4875.  2Eh    DWORD    XGA manufacturer ID
  4876.         byte 0 POS data index 1
  4877.         byte 1 is index 2
  4878.         byte 2 is 21xAh index 75h
  4879.  32h 206 BYTEs    reserved
  4880.  
  4881. Bitfields for XGA capabilities:
  4882. Bit(s)    Description    (Table 00072)
  4883.  0-1    board bus architecture: 0=MCA, 1=ISA, 3=EISA
  4884.  2-3    reserved
  4885.  4-6    DMA Channel assigned for acquiring bus mastership (only for ISA bus)
  4886.  7    DMA Channel Status (ISA only). enabled if set
  4887.  8-31    reserved
  4888. --------V-104E02-----------------------------------
  4889. INT 10 - VESA XGA BIOS Extensions - RETURN XGA MODE INFORMATION
  4890.     AX = 4E02h
  4891.     CX = Video mode
  4892.     DX = XGA handle
  4893.     ES:DI -> 256 byte buffer for mode information (see #00073)
  4894. Return: AL = 4Eh if function supported
  4895.     AH = status
  4896.         00h     function successful
  4897.         else error code
  4898. SeeAlso: AX=4E00h,AX=4E01h
  4899.  
  4900. Format of XGA mode information:
  4901. Offset    Size    Description    (Table 00073)
  4902.  00h    WORD    attributes of the mode (see #00074)
  4903.  02h    WORD    bytes per logical scanline
  4904.  04h    WORD    horizontal resolution in pixels
  4905.  06h    WORD    vertical resolution in scanlines
  4906.  08h    BYTE    character Width in pixels
  4907.  09h    BYTE    character Height in pixels
  4908.  0Ah    BYTE    number of planes
  4909.  0Bh    BYTE    bits per pixels
  4910.  0Ch    BYTE    memory model (see #00075)
  4911.  0Dh    BYTE    number of Image Pages
  4912.  0Eh    BYTE    number of Red bits
  4913.  0Fh    BYTE    bit position of Red bit field
  4914.  10h    BYTE    number of Green bits
  4915.  11h    BYTE    bit position of Green bit field
  4916.  12h    BYTE    number of Blue bits
  4917.  13h    BYTE    bit position of Blue bit field
  4918.  14h    BYTE    number of Reserved bits
  4919.  15h    BYTE    bit position of Reserved bit field
  4920.  16h 235 BYTEs    reserved
  4921.  
  4922. Bitfields for XGA mode attributes:
  4923. Bit(s)    Description    (Table 00074)
  4924.  0    set if mode is supported
  4925.  1    reserved
  4926.  2    output is supported by the BIOS
  4927.  3    reserved
  4928.  4    if set this is a graphics mode (VGA registers inactive, XGA active),
  4929.       if clear this is a text mode (VGA registers active, XGA inactive)
  4930.  
  4931. (Table 00075)
  4932. Values for XGA video memory model:
  4933.  00h    Text Mode
  4934.  01h    CGA graphics
  4935.  02h    Hercules graphics
  4936.  03h    4-planar graphics
  4937.  04h    Packed Pixel
  4938.  05h    Non-chain 4, 256 color
  4939.  06h    Direct Color
  4940.  07h    YUV-24
  4941. --------V-104E03-----------------------------------
  4942. INT 10 - VESA XGA BIOS Extensions - SET XGA VIDEO MODE
  4943.     AX = 4E03h
  4944.     BX = video mode
  4945.     CX = other command flags
  4946.          bit 0  If clear the feature connector is set to the default state
  4947.     DX = XGA handle
  4948.     ES:DI -> 256 byte buffer
  4949. Return: AL = 4Eh if function supported
  4950.     AH = status
  4951.         00h     function successful
  4952.         else error code
  4953. SeeAlso: AH=00h,AX=4E04h,AX=4F02h
  4954. --------V-104E04-----------------------------------
  4955. INT 10 - VESA XGA BIOS Extensions - RETURN CURRENT VIDEO MODE
  4956.     AX = 4E04h
  4957.     DX = XGA handle
  4958. Return: AL = 4Eh if function supported
  4959.     AH = status
  4960.         00h     function successful
  4961.         BX??? = current mode
  4962.         else error code
  4963. SeeAlso: AH=0Fh,AX=4E03h,AX=4F03h
  4964. --------V-104E05-----------------------------------
  4965. INT 10 - VESA XGA BIOS Extensions - SET FEATURE CONNECTOR STATE
  4966.     AX = 4E05h
  4967.     BX = Feature Connector State (see #00076)
  4968.     DX = XGA handle
  4969. Return: AL = 4Eh if function supported
  4970.     AH = status
  4971.         00h     function successful
  4972.         else error code
  4973. SeeAlso: AX=4E00h,AX=4E06h
  4974.  
  4975. Bitfields for XGA Feature Connector State:
  4976. Bit(s)    Description    (Table 00076)
  4977.  0    Feature Connector is enabled
  4978.  1    Feature Connector is in Output Mode rather than Input Mode
  4979.  2-15    reserved (0)
  4980. --------V-104E06-----------------------------------
  4981. INT 10 - VESA XGA BIOS Extensions - RETURN FEATURE CONNECTOR STATE
  4982.     AX = 4E06h
  4983.     DX = XGA handle
  4984. Return: AL = 4Eh if function supported
  4985.     AH = status
  4986.         00h     function successful
  4987.         else error code
  4988.     BX = Feature Connector State (see #00076)
  4989. SeeAlso: AX=4E00h,AX=4E05h
  4990. --------V-104F00-----------------------------
  4991. INT 10 - VESA SuperVGA BIOS (VBE) - GET SuperVGA INFORMATION
  4992.     AX = 4F00h
  4993.     ES:DI -> buffer for SuperVGA information (see #00077)
  4994. Return: AL = 4Fh if function supported
  4995.     AH = status
  4996.         00h successful
  4997.         ES:DI buffer filled
  4998.         01h failed
  4999.         ---VBE v2.0---
  5000.         02h function not supported by current hardware configuration
  5001.         03h function invalid in current video mode
  5002. Desc:    determine whether VESA BIOS extensions are present and the capabilities
  5003.       supported by the display adapter
  5004. SeeAlso: AX=4E00h,AX=4F01h,AX=7F00h"SOLLEX",AX=A00Ch
  5005. Index:    installation check;VESA SuperVGA
  5006.  
  5007. Format of SuperVGA information:
  5008. Offset    Size    Description    (Table 00077)
  5009.  00h  4 BYTEs    (ret) signature ("VESA")
  5010.         (call) VESA 2.0 request signature ("VBE2"), required to receive
  5011.           version 2.0 info
  5012.  04h    WORD    VESA version number (one-digit minor version -- 0102h = v1.2)
  5013.  06h    DWORD    pointer to OEM name
  5014.         "761295520" for ATI
  5015.  0Ah    DWORD    capabilities flags (see #00078)
  5016.  0Eh    DWORD    pointer to list of supported VESA and OEM video modes
  5017.         (list of words terminated with FFFFh)
  5018.  12h    WORD    total amount of video memory in 64K blocks
  5019. ---VBE v1.x ---
  5020.  14h 236 BYTEs    reserved
  5021. ---VBE v2.0 ---
  5022.  14h    WORD    OEM software version (BCD, high byte = major, low byte = minor)
  5023.  16h    DWORD    pointer to vendor name
  5024.  1Ah    DWORD    pointer to product name
  5025.  1Eh    DWORD    pointer to product revision string
  5026.  22h    WORD    (if capabilities bit 3 set) VBE/AF version (BCD)
  5027.         0100h for v1.0P
  5028.  24h    DWORD    (if capabilities bit 3 set) pointer to list of supported
  5029.           accelerated video modes (list of words terminated with FFFFh)
  5030.  28h 216 BYTEs    reserved for VBE implementation
  5031. 100h 256 BYTEs    OEM scratchpad (for OEM strings, etc.)
  5032. Notes:    the list of supported video modes is stored in the reserved portion of
  5033.       the SuperVGA information record by some implementations, and it may
  5034.       thus be necessary to either copy the mode list or use a different
  5035.       buffer for all subsequent VESA calls
  5036.     the 1.1 VESA document specifies 242 reserved bytes at the end, so the
  5037.       buffer should be 262 bytes to ensure that it is not overrun; for
  5038.       v2.0, the buffer should be 512 bytes
  5039.     the S3 specific video modes will most likely follow the FFFFh
  5040.       terminator at the end of the standard modes.    A search must then
  5041.       be made to find them, FFFFh will also terminate this second list
  5042.     in some cases, only a "stub" VBE may be present, supporting only
  5043.       AX=4F00h; this case may be assumed if the list of supported video
  5044.       modes is empty (consisting of a single word of FFFFh)
  5045.  
  5046. Bitfields for VESA capabilities:
  5047. Bit(s)    Description    (Table 00078)
  5048.  0    DAC can be switched into 8-bit mode
  5049.  1    non-VGA controller
  5050.  2    programmed DAC with blank bit (i.e. only during blanking interval)
  5051.  3    controller supports VBE/AF v1.0P extensions
  5052.  4    (VBE/AF) must call EnableDirectAccess to access framebuffer
  5053.  5    (VBE/AF) controller supports hardware mouse cursor
  5054.  6    (VBE/AF) controller supports hardware clipping
  5055.  7    (VBE/AF) controller supports transparent BitBLT
  5056.  8-31    reserved (0)
  5057. SeeAlso: #00077,AX=4F09h
  5058. --------V-104F01-----------------------------
  5059. INT 10 - VESA SuperVGA BIOS - GET SuperVGA MODE INFORMATION
  5060.     AX = 4F01h
  5061.     CX = SuperVGA video mode
  5062.         bit 14 set means enable linear framebuffer mode (VBE v2.0+)
  5063.         bit 13 set means VBE/AF v1.0P initializes accelerator hardware
  5064.     ES:DI -> 256-byte buffer for mode information (see #00079)
  5065. Return: AL = 4Fh if function supported
  5066.     AH = status
  5067.         00h successful
  5068.         ES:DI buffer filled
  5069.         01h failed
  5070. Desc:    determine the attributes of the specified video mode
  5071. SeeAlso: AX=4F00h,AX=4F02h
  5072.  
  5073. Format of VESA SuperVGA mode information:
  5074. Offset    Size    Description    (Table 00079)
  5075.  00h    WORD    mode attributes (see #00080)
  5076.  02h    BYTE    window attributes, window A (see #00081)
  5077.  03h    BYTE    window attributes, window B (see #00081)
  5078.  04h    WORD    window granularity in KB
  5079.  06h    WORD    window size in KB
  5080.  08h    WORD    start segment of window A
  5081.  0Ah    WORD    start segment of window B
  5082.  0Ch    DWORD    -> FAR window positioning function (equivalent to AX=4F05h)
  5083.  10h    WORD    bytes per scan line
  5084. ---remainder is optional for VESA modes in v1.0/1.1, needed for OEM modes---
  5085.  12h    WORD    width in pixels (graphics) or characters (text)
  5086.  14h    WORD    height in pixels (graphics) or characters (text)
  5087.  16h    BYTE    width of character cell in pixels
  5088.  17h    BYTE    height of character cell in pixels
  5089.  18h    BYTE    number of memory planes
  5090.  19h    BYTE    number of bits per pixel
  5091.  1Ah    BYTE    number of banks
  5092.  1Bh    BYTE    memory model type (see #00082)
  5093.  1Ch    BYTE    size of bank in KB
  5094.  1Dh    BYTE    number of image pages
  5095.  1Eh    BYTE    reserved (0)
  5096. ---VBE v1.2+---
  5097.  1Fh    BYTE    red mask size
  5098.  20h    BYTE    red field position
  5099.  21h    BYTE    green mask size
  5100.  22h    BYTE    green field size
  5101.  23h    BYTE    blue mask size
  5102.  24h    BYTE    blue field size
  5103.  25h    BYTE    reserved mask size
  5104.  26h    BYTE    reserved mask position
  5105.  27h    BYTE    direct color mode info
  5106.         bit 0: color ramp is programmable
  5107.         bit 1: bytes in reserved field may be used by application
  5108. ---VBE v2.0 ---
  5109.  28h    DWORD    physical address of linear video buffer
  5110.  2Ch    DWORD    pointer to start of offscreen memory
  5111.  30h    WORD    KB of offscreen memory
  5112.  32h 206 BYTEs    reserved (0)
  5113.  
  5114. Bitfields for VESA SuperVGA mode attributes:
  5115. Bit(s)    Description    (Table 00080)
  5116.  0    mode supported
  5117.  1    optional information available
  5118.  2    BIOS output supported
  5119.  3    set if color, clear if monochrome
  5120.  4    set if graphics mode, clear if text mode
  5121. ---VBE v2.0 ---
  5122.  5    mode is not VGA-compatible
  5123.  6    bank-switched mode not supported
  5124.  7    linear framebuffer mode supported
  5125.  8    ???
  5126.  9    (VBE/AF v1.0P) application must call EnableDirectAccess before calling
  5127.       bank-switching functions
  5128. SeeAlso: #00079
  5129.  
  5130. Bitfields for VESA SuperVGA window attributes:
  5131. Bit(s)    Description    (Table 00081)
  5132.  0    exists
  5133.  1    readable
  5134.  2    writable
  5135.  3-7    reserved
  5136. SeeAlso: #00079
  5137.  
  5138. (Table 00082)
  5139. Values for VESA SuperVGA memory model type:
  5140.  00h    text
  5141.  01h    CGA graphics
  5142.  02h    HGC graphics
  5143.  03h    16-color (EGA) graphics
  5144.  04h    packed pixel graphics
  5145.  05h    "sequ 256" (non-chain 4) graphics
  5146.  06h    direct color (HiColor, 24-bit color)
  5147.  07h    YUV (luminance-chrominance, also called YIQ)
  5148.  08h-0Fh reserved for VESA
  5149.  10h-FFh OEM memory models
  5150. SeeAlso: #00079
  5151. --------V-104F02-----------------------------
  5152. INT 10 - VESA SuperVGA BIOS - SET SuperVGA VIDEO MODE
  5153.     AX = 4F02h
  5154.     BX = mode (see #00083,#00084)
  5155.         bit 15 set means don't clear video memory
  5156.         bit 14 set means enable linear framebuffer mode (VBE v2.0+)
  5157.         bit 13 set means VBE/AF v1.0P initializes accelerator hardware
  5158. Return: AL = 4Fh if function supported
  5159.     AH = status
  5160.         00h successful
  5161.         01h failed
  5162. Notes:    bit 13 may only be set if the video mode is present in the list of
  5163.       accelerated video modes returned by AX=4F00h
  5164.     if the DAC supports both 8 bits per primary color and 6 bits, it will
  5165.       be reset to 6 bits after a mode set; use AX=4F08h to restore 8 bits
  5166. SeeAlso: AX=4E03h,AX=4F00h,AX=4F01h,AX=4F03h,AX=4F08h
  5167.  
  5168. (Table 00083)
  5169. Values for VESA video mode:
  5170.  00h-FFh OEM video modes (see #00010 at AH=00h)
  5171.  100h    640x400x256
  5172.  101h    640x480x256
  5173.  102h    800x600x16
  5174.  103h    800x600x256
  5175.  104h    1024x768x16
  5176.  105h    1024x768x256
  5177.  106h    1280x1024x16
  5178.  107h    1280x1024x256
  5179.  108h    80x60 text
  5180.  109h    132x25 text
  5181.  10Ah    132x43 text
  5182.  10Bh    132x50 text
  5183.  10Ch    132x60 text
  5184. ---VBE v1.2---
  5185.  10Dh    320x200x32K
  5186.  10Eh    320x200x64K
  5187.  10Fh    320x200x16M
  5188.  110h    640x480x32K
  5189.  111h    640x480x64K
  5190.  112h    640x480x16M
  5191.  113h    800x600x32K
  5192.  114h    800x600x64K
  5193.  115h    800x600x16M
  5194.  116h    1024x768x32K
  5195.  117h    1024x768x64K
  5196.  118h    1024x768x16M
  5197.  119h    1280x1024x32K
  5198.  11Ah    1280x1024x64K
  5199.  11Bh    1280x1024x16M
  5200. ---VBE 2.0---
  5201.  120h    1600x1200x256
  5202.  121h    1600x1200x32K
  5203.  122h    1600x1200x64K
  5204. 81FFh    special full-memory access mode
  5205. Note:    the special mode 81FFh preserves the contents of the video memory and
  5206.       gives access to all of the memory; VESA recommends that the special
  5207.       mode be a packed-pixel mode
  5208. SeeAlso: #00010,#00011,#00084,#00191
  5209. Index:    video modes;VESA
  5210.  
  5211. (Table 00084)
  5212. Values for S3 OEM video mode:
  5213.  201h    640x480x256
  5214.  202h    800x600x16
  5215.  203h    800x600x256
  5216.  204h    1024x768x16
  5217.  205h    1024x768x256
  5218.  206h    1280x960x16
  5219.  207h    1152x864x256 (Diamond Stealth 64)
  5220.  208h    1280x1024x16
  5221.  209h    1152x864x32K
  5222.  20Ah    1152x864x64K (Diamond Stealth 64)
  5223.  20Bh    1152x864x4G
  5224.  211h    640x480x64K (Diamond Stealth 24)
  5225.  211h    640x400x4G  (Diamond Stealth64 Video / Stealth64 Graphics)
  5226.  212h    640x480x16M (Diamond Stealth 24)
  5227.  301h    640x480x32K
  5228. Note:    these modes are only available on video cards using S3's VESA driver
  5229. SeeAlso: #00083,#00191,#00732 at INT 1A/AX=B102h
  5230. Index:    video modes;S3
  5231. --------V-104F03-----------------------------
  5232. INT 10 - VESA SuperVGA BIOS - GET CURRENT VIDEO MODE
  5233.     AX = 4F03h
  5234. Return: AL = 4Fh if function supported
  5235.     AH = status
  5236.         00h successful
  5237.         BX = video mode (see #00083,#00084)
  5238.             bit 13: VBE/AF v1.0P accelerated video mode
  5239.             bit 14: linear frame buffer enabled (VBE v2.0+)
  5240.             bit 15: don't clear video memory
  5241.         01h failed
  5242. SeeAlso: AH=0Fh,AX=4E04h,AX=4F02h
  5243. --------V-104F04-----------------------------
  5244. INT 10 - VESA SuperVGA BIOS - SAVE/RESTORE SuperVGA VIDEO STATE
  5245.     AX = 4F04h
  5246.     DL = subfunction
  5247.         00h get state buffer size
  5248.         Return: BX = number of 64-byte blocks needed
  5249.         01h save video states
  5250.         ES:BX -> buffer
  5251.         02h restore video states
  5252.         ES:BX -> buffer
  5253.     CX = states to save/restore (see #00085)
  5254. Return: AL = 4Fh if function supported
  5255.     AH = status
  5256.         00h successful
  5257.         01h failed
  5258. SeeAlso: AH=1Ch,AX=5F90h,AX=5FA0h
  5259.  
  5260. Bitfields for VESA SuperVGA states to save/restore:
  5261. Bit(s)    Description    (Table 00085)
  5262.  0    video hardware state
  5263.  1    video BIOS data state
  5264.  2    video DAC state
  5265.  3    SuperVGA state
  5266. SeeAlso: #00048,#00186
  5267. --------V-104F05-----------------------------
  5268. INT 10 - VESA SuperVGA BIOS - CPU VIDEO MEMORY CONTROL
  5269.     AX = 4F05h
  5270.     BH = subfunction
  5271.         00h select video memory window
  5272.         DX = window address in video memory (in granularity units)
  5273.         01h get video memory window
  5274.         Return: DX = window address in video memory (in gran. units)
  5275.     BL = window number
  5276.         00h window A
  5277.         01h window B
  5278. Return: AL = 4Fh if function supported
  5279.     AH = status
  5280.         00h successful
  5281.         01h failed
  5282. Note:    when using an accelerated video mode under VBE/AF v1.0P, the
  5283.       application must call EnableDirectAccess before switching banks if
  5284.       bit 9 of the video mode attributes flag is set (see #00080)
  5285. BUG:    Phoenix S3 Trio64V+ v1.02-02 reportedly returns garbage in DX for
  5286.       subfunction 01h
  5287. SeeAlso: AX=4F01h,AX=4F06h,AX=4F07h,AX=7000h/BX=0004h
  5288. --------V-104F06-----------------------------
  5289. INT 10 - VESA SuperVGA BIOS v1.1+ - GET/SET LOGICAL SCAN LINE LENGTH (PIXELS)
  5290.     AX = 4F06h
  5291.     BL = subfunction
  5292.         00h set scan line length
  5293.         CX = desired width in pixels
  5294.         01h get scan line length
  5295. Return: AL = 4Fh if function supported
  5296.     AH = status
  5297.         00h successful
  5298.         01h failed
  5299.     BX = bytes per scan line
  5300.     CX = number of pixels per scan line
  5301.     DX = maximum number of scan lines
  5302. Notes:    if the desired width is not achievable, the next larger width will be
  5303.       set
  5304.     the scan line may be wider than the visible area of the screen
  5305.     this function is valid in text modes, provided that pixel values are
  5306.       multiplied by the character cell width/height
  5307. SeeAlso: AX=4F01h,AX=4F05h,AX=4F06h/BL=02h,AX=4F06h/BL=03h,AX=4F07h
  5308. --------V-104F06BL02-------------------------
  5309. INT 10 - VESA SuperVGA BIOS v2.0+ - SET LOGICAL SCAN LINE LENGTH (BYTES)
  5310.     AX = 4F06h
  5311.     BL = 02h
  5312.     CX = desired scanline width in bytes
  5313. Return: AL = 4Fh if function supported
  5314.     AH = status
  5315.         00h successful
  5316.         01h failed
  5317.     BX = bytes per scan line
  5318.     CX = number of pixels per scan line
  5319.     DX = maximum number of scan lines
  5320. Notes:    if the desired width is not achievable, the next larger width will be
  5321.       set
  5322.     the scan line may be wider than the visible area of the screen
  5323.     this function is valid in text modes, provided that pixel values are
  5324.       multiplied by the character cell width/height
  5325. SeeAlso: AX=4F01h,AX=4F05h,AX=4F06h,AX=4F06h/BL=03h,AX=4F07h
  5326. --------V-104F06BL03-------------------------
  5327. INT 10 - VESA SuperVGA BIOS v2.0+ - GET MAXIMUM SCAN LINE LENGTH
  5328.     AX = 4F06h
  5329.     BL = 03h
  5330. Return: AL = 4Fh if function supported
  5331.     AH = status
  5332.         00h successful
  5333.         01h failed
  5334.     BX = maximum bytes per scan line
  5335.     CX = maximum number of pixels per scan line
  5336. Notes:    this function is valid in text modes, provided that pixel values are
  5337.       multiplied by the character cell width/height
  5338. SeeAlso: AX=4F01h,AX=4F05h,AX=4F06h,AX=4F06h/BL=02h,AX=4F07h
  5339. --------V-104F07-----------------------------
  5340. INT 10 - VESA SuperVGA BIOS v1.1+ - GET/SET DISPLAY START
  5341.     AX = 4F07h
  5342.     BL = subfunction
  5343.         00h,80h set display start
  5344.         CX = leftmost displayed pixel in scan line
  5345.         DX = first displayed scan line
  5346.         01h get display start
  5347.         Return: BH = 00h
  5348.             CX = leftmost displayed pixel in scan line
  5349.             DX = first displayed scan line
  5350.     BH = 00h (reserved)
  5351. Return: AL = 4Fh if function supported
  5352.     AH = status
  5353.         00h successful
  5354.         01h failed
  5355. Notes:    this function is valid in text modes, provided that values are
  5356.       multiplied by the character cell width/height
  5357.     subfunction 80h waits until vertical retrace before changing the
  5358.       display start address (VBE v2.0+)
  5359. SeeAlso: AX=4F01h,AX=4F05h,AX=4F06h
  5360. --------V-104F08-----------------------------
  5361. INT 10 - VESA SuperVGA BIOS v1.2+ - GET/SET DAC PALETTE CONTROL
  5362.     AX = 4F08h
  5363.     BL = subfunction
  5364.         00h set DAC palette width
  5365.         BH = desired number of bits per primary color
  5366.         01h get DAC palette width
  5367. Return: AL = 4Fh if function supported
  5368.     AH = status
  5369.         00h successful
  5370.         01h failed
  5371.     BH = current number of bits per primary (06h = standard VGA)
  5372. --------V-104F09-----------------------------
  5373. INT 10 - VESA SuperVGA BIOS v2.0+ - GET/SET PALETTE ENTRIES
  5374.     AX = 4F09h
  5375.     BL = subfunction
  5376.         00h set (primary) palette
  5377.         01h get (primary) palette
  5378.         02h set secondary palette data
  5379.         03h get secondary palette data
  5380.         80h set palette during vertical retrace
  5381.     CX = number of entries to change
  5382.     DX = starting palette index
  5383.     ES:DI -> palette buffer (see #00086)
  5384. Return: AL = 4Fh if function supported
  5385.     AH = status
  5386.         00h successful
  5387.         01h failed
  5388. SeeAlso: AX=4F0Ah,AX=D000h"S3VBE"
  5389.  
  5390. Format of VESA VBE palette entry:
  5391. Offset    Size    Description    (Table 00086)
  5392.  00h    BYTE    red
  5393.  01h    BYTE    green
  5394.  02h    BYTE    blue
  5395.  03h    BYTE    alpha or alignment byte
  5396. --------V-104F0ABL00-------------------------
  5397. INT 10 - VESA SuperVGA BIOS v2.0+ - GET PROTECTED-MODE INTERFACE
  5398.     AX = 4F0Ah
  5399.     BL = 00h
  5400. Return: AL = 4Fh if function supported
  5401.     AH = status
  5402.         00h successful
  5403.         ES:DI -> protected-mode table (see #00087)
  5404.         CX = length of table in bytes, included protected-mode code
  5405.         01h failed
  5406. SeeAlso: AX=4F00h,AX=4F05h,AX=4F07h,AX=4F09h
  5407.  
  5408. Format of VESA VBE 2.0 protected-mode table:
  5409. Offset    Size    Description    (Table 00087)
  5410.  00h    WORD    offset (within table) of protected-mode code for Function 5
  5411.           (Set Window)
  5412.  02h    WORD    offset of protected-mode code for Function 7 (Set Disp Start)
  5413.  04h    WORD    offset of protected-mode code for Function 9 (Set Primary
  5414.           Palette)
  5415.  06h    WORD    offset (within table) of list of I/O ports and memory locations
  5416.           for which I/O privilege may be required in protected mode
  5417.           (0000h if no list)
  5418.  08h    var    code and optional port/memory list
  5419. --------V-104F0A-----------------------------
  5420. INT 10 O - VESA SuperVGA BIOS v2.0 beta - GET PROTECTED-MODE CODE
  5421.     AX = 4F0Ah
  5422.     BX = function to be copied (see #00088)
  5423. Return: AL = 4Fh if function supported
  5424.     AH = status
  5425.         00h successful
  5426.         CX = number of bytes to copy
  5427.         ES:DI -> code for requested function
  5428.         01h failed
  5429. SeeAlso: AX=4F09h,AX=D000h"S3VBE"
  5430.  
  5431. (Table 00088)
  5432. Values for VESA VBE protected-mode function identifiers:
  5433.  0001h    set bank (see AX=4F05h)
  5434.  0002h    set display start (see AX=4F07h)
  5435.  0003h    set palette (see AX=4F09h)
  5436. --------V-104F0B-----------------------------
  5437. INT 10 - VESA SuperVBA BIOS - GET VBE/AF v1.0P DEVICE CONTEXT BUFFER
  5438.     AX = 4F0Bh
  5439.     BL = subfunction
  5440.         00h get length of device context buffer
  5441.         01h initialize device context buffer
  5442.         ES:DI -> real-mode address of buffer (see #00089)
  5443. Return: AL = 4Fh if function supported
  5444.     AH = status
  5445.         00h successful
  5446.         CX = number of bytes required for buffer (if BL=00h on entry)
  5447.         ES:DI buffer initialized (if BL=01h on entry)
  5448.         01h failed
  5449. Note:    this interface description is derived from the draft VBE/AF proposal
  5450.       (version 1.0P, document revsion 0.12P, dated 13jan95)
  5451. SeeAlso: AX=4F00h,AX=4F01h,AX=4F17h
  5452.  
  5453. Format of VBE/AF v1.0P Device Context buffer:
  5454. Offset    Size    Description    (Table 00089)
  5455.  00h    WORD    maximum X coordinate in frame buffer (0 = left edge)
  5456.         Note:    application must never pass X coordinate greater than
  5457.               this value to the SetClipRect function (values are
  5458.               NOT range-checked!)
  5459.  02h    WORD    maximum Y coordinate in frame buffer (0 = top edge)
  5460.         Note:    application must never pass Y coordinate greater than
  5461.               this value to the SetClipRect function
  5462.  04h    DWORD    -> "SetForeColor" to set foreground color/mix (see #00091)
  5463.  08h    DWORD    -> "SetBackColor" to set background color/mix (see #00092)
  5464.  0Ch    DWORD    -> "SetClipRect" set hardware clipping rectangle (see #00093)
  5465.  10h    DWORD    -> function "DrawScan" to draw a single scan line
  5466.  14h    DWORD    -> function "DrawScanList" to draw a list of scan lines
  5467.  18h    DWORD    -> function "DrawRect" to draw a solid rectangle
  5468.  1Ch    DWORD    -> function "DrawLine" to draw a solid line
  5469.  20h    DWORD    -> function "DrawPattScan" to draw a patterned scan line
  5470.  24h    DWORD    -> function "BitBlt" to perform screen-to-screen BitBLT
  5471.  28h    DWORD    -> "TransBitBlt" to perform transparent screen-to-screen BitBLT
  5472.  2Ch    DWORD    -> "MonoBitBlt" to monochrome expansion screen-to-screen BitBLT
  5473.  30h    DWORD    -> function "SetCursor" to download hardware cursor image
  5474.  34h    DWORD    -> function "SetCursorPos" to set hardware cursor position
  5475.  38h    DWORD    -> function "SetCursorColor" to set hardware cursor color
  5476.  3Ch    DWORD    -> function "ShowCursor" to show/hide hardware cursor
  5477.  40h    DWORD    -> function "WaitTillIdle" to wait until graphics engine idle
  5478.  44h    DWORD    -> "EnableDirectAccess" to enable direct framebuffer access
  5479.  48h    DWORD    -> "DisableDirectAccess" to disable direct framebuffer access
  5480.  4Ch    DWORD    -> "BankSwitchCB" bank-switching callback function
  5481.         (set by application, may simply point at 32-bit VBE 2.0 bank
  5482.           switching entry point)
  5483.  50h    WORD    "VidMemSel" selector for video memory (must be set by app)
  5484.  52h    WORD    "IOPortsOff" offset of I/O ports table in context buffer
  5485.  54h    WORD    "IOMemoryOff" offset of I/O memory table in context buffer
  5486.  56h    WORD    "IOMemSel1" selector for first I/O memory area specified by
  5487.           I/O memory table (must be set by application)
  5488.  58h    WORD    "IOMemSel2" selector for second I/O memory area
  5489.  5Ah    WORD    "IOMemSel3" selector for third I/O memory area
  5490.  5Ch    WORD    "IOMemSel4" selector for fourth I/O memory area
  5491.  5Eh  N BYTEs    device-specific state buffer
  5492.       N WORDs    I/O port access table (list of ports, last entry is FFFFh)
  5493.       N DWORDs    I/O memory access table (list of physical-address/length pairs,
  5494.           last entry is FFFFFFFFh)
  5495.       N BYTEs    32-bit code for VBE/AF v1.0P function
  5496. Notes:    all function pointers are offsets into the 32-bit code within the
  5497.       context buffer, and should be updated to point at the actual
  5498.       functions after the application has copied the buffer from the
  5499.       real-mode memory used for the interrupt call into its own flat-model
  5500.       memory space
  5501.     any functions which are not supported by the hardware have function
  5502.       pointers which are set to 00000000h initially
  5503.  
  5504. (Table 00090)
  5505. Values for VBE/AF v1.0P color mixing mode:
  5506.  00h    replace
  5507.  01h    XOR with existing pixel
  5508.  02h    OR with existing pixel
  5509.  03h    AND with existing pixel
  5510. SeeAlso: #00091,#00090
  5511.  
  5512. (Table 00091)
  5513. Call VBE/AF v1.0P function "SetForeColor" with:
  5514.     ES:EDI -> device context buffer (see #00089)
  5515.     EAX = new foreground color (format varies by video mode)
  5516.     BL = new foreground mixing mode (see #00090)
  5517. SeeAlso: #00089,#00092,#00107
  5518.  
  5519. (Table 00092)
  5520. Call VBE/AF v1.0P function "SetbackColor" with:
  5521.     ES:EDI -> device context buffer (see #00089)
  5522.     EAX = new background color (format varies by video mode)
  5523.     BL = new background mixing mode (see #00090)
  5524. SeeAlso: #00089,#00091,#00093
  5525.  
  5526. (Table 00093)
  5527. Call VBE/AF v1.0P function "SetClipRect" with:
  5528.     ES:EDI -> device context buffer (see #00089)
  5529.     EAX = left clipping coordinate
  5530.     EBX = top clipping coordinate
  5531.     ECX = right clipping coordinate
  5532.     EDX = bottom clipping coordinate
  5533. SeeAlso: #00089,#00092,#00094,#00107
  5534.  
  5535. (Table 00094)
  5536. Call VBE/AF v1.0P function "DrawScan" with:
  5537.     ES:EDI -> device context buffer (see #00089)
  5538.     EAX = X1 coordinate
  5539.     EBX = Y coordinate
  5540.     ECX = X2 coordinate
  5541. Desc:    draw a solid horizontal line from (X1,Y) to (X2,Y) in the currently-
  5542.       active foreground color and mix, omitting the pixel at the largest
  5543.       X coordinate
  5544. SeeAlso: #00089,#00093,#00095,#00098,#00107
  5545.  
  5546. (Table 00095)
  5547. Call VBE/AF v1.0P function "DrawScanList" with:
  5548.     ES:EDI -> device context buffer (see #00089)
  5549.     EAX = Y coordinate of first line
  5550.     EBX = length of scan list
  5551.     DS:ESI -> scanline list X coordinates (2N WORDs)
  5552. Desc:    draw multiple solid horizontal lines at successive Y coordinates,
  5553.       using the currently-active foreground color and mix, omitting the
  5554.       pixel at the largest X coordinate for each line
  5555. Note:    the scanline list consists of pairs of X coordinates; because the
  5556.       last pixel is omitted, a scanline will be skipped if X1==X2
  5557. SeeAlso: #00089,#00094,#00096,#00107
  5558.  
  5559. (Table 00096)
  5560. Call VBE/AF v1.0P function "DrawRect" with:
  5561.     ES:EDI -> device context buffer (see #00089)
  5562.     EAX = left coordinate
  5563.     EBX = top coordinate
  5564.     ECX = right coordinate
  5565.     EDX = bottom coordinate
  5566. Desc:    draw a solid rectangle in the currently-active foreground color and
  5567.       mix, omitting the rightmost X coordinate and bottom-most scan line
  5568. Note:    results are undefined if EAX>ECX or EBX>EDX; nothing will be drawn if
  5569.       EAX=ECX or EBX=EDX
  5570. SeeAlso: #00089,#00094,#00095,#00097
  5571.  
  5572. (Table 00097)
  5573. Call VBE/AF v1.0P function "DrawLine" with:
  5574.     ES:EDI -> device context buffer (see #00089)
  5575.     EAX = ??? (specified this way in the draft documentation!)
  5576.     EBX = ???
  5577.     ECX = ???
  5578.     EDX = ???
  5579.     ESI = ???
  5580. Desc:    draw a solid line in the currently-active foreground color and mix,
  5581.       given the Bresenham parameters
  5582. SeeAlso: #00089,#00094,#00096,#00098
  5583.  
  5584. (Table 00098)
  5585. Call VBE/AF v1.0P function "DrawPattScan" with:
  5586.     ES:EDI -> device context buffer (see #00089)
  5587.     EAX = X1 coordinate
  5588.     EBX = Y coordinate
  5589.     ECX = X2 coordinate
  5590.     DL = 8-bit stipple pattern
  5591. Desc:    draw a patterned horizontal line from (X1,Y) to (X2,Y) in the
  5592.       currently-active foreground color and mix, omitting the pixel at
  5593.       the largest X coordinate
  5594. Note:    for each pixel in the line, if DL bit (X mod 8) is set, the pixel is
  5595.       drawn, and left untouched if the bit is clear
  5596. SeeAlso: #00089,#00096,#00097,#00094,#00099,#00107
  5597.  
  5598. (Table 00099)
  5599. Call VBE/AF v1.0P function "BitBlt" with:
  5600.     ES:EDI -> device context buffer (see #00089)
  5601.     DS:ESI -> BitBlt parameter block (see #00100)
  5602.     BL = mix operation
  5603.         00h replace
  5604.         01h XOR
  5605.         02h OR
  5606.         03h AND
  5607. SeeAlso: #00089,#00094,#00098,#00101,#00107
  5608.  
  5609. Format of VBE/AF BitBlt parameter block:
  5610. Offset    Size    Description    (Table 00100)
  5611.  00h    WORD    left coordinate of source rectangle
  5612.  02h    WORD    top coordinate of source rectangle
  5613.  04h    WORD    right coordinate of source rectangle
  5614.  06h    WORD    bottom coordinate of source rectangle
  5615.  08h    WORD    left coordinate of destination rectangle
  5616.  0Ah    WORD    top coordinate of destination rectangle
  5617.  0Ch    BYTE    horizontal direction: 00h = decrement X, 01h = increment X
  5618.  0Dh    BYTE    vertical direction: 00h = decrement Y, 01h = increment Y
  5619. Notes:    the rightmost pixel(s) and bottom-most scan line are not copied
  5620.     the horizontal/vertical direction flags are used to ensure correct
  5621.       copies when the source and destination rectangles overlap
  5622. SeeAlso: #00099
  5623.  
  5624. (Table 00101)
  5625. Call VBE/AF v1.0P function "TransBitBlt" with:
  5626.     ES:EDI -> device context buffer (see #00089)
  5627.     DS:ESI -> BitBlt parameter block (see #00100)
  5628.     BL = mix operation
  5629.         00h replace
  5630.         01h XOR
  5631.         02h OR
  5632.         03h AND
  5633.     ECX = transparent color
  5634. Desc:    copy a rectangular area from one location to another, treating pixels
  5635.       with the specified color as transparent (leaving the destination
  5636.       unchanged)
  5637. SeeAlso: #00089,#00099,#00102,#00107
  5638.  
  5639. (Table 00102)
  5640. Call VBE/AF v1.0P function "MonoBitBlt" with:
  5641.     ES:EDI -> device context buffer (see #00089)
  5642.     DS:ESI -> BitBlt parameter block (see #00100)
  5643.     BL = mix operation
  5644.         00h replace
  5645.         01h XOR
  5646.         02h OR
  5647.         03h AND
  5648.     BH = bit-plane from which to read
  5649. Desc:    copy a rectangular area from one location to another, expanding a
  5650.       single bit of each source pixel
  5651. SeeAlso: #00089,#00099,#00101
  5652.  
  5653. (Table 00103)
  5654. Call VBE/AF v1.0P function "SetCursor" with:
  5655.     ES:EDI -> device context buffer (see #00089)
  5656.     DS -> application's data segment
  5657.     ESI -> 32x32 cursor data, in Windows 3.1 cursor-file format
  5658.         (32 DWORDs of XOR mask followed by 32 DWORDs of AND mask)
  5659. SeeAlso: #00089,#00094,#00104,#00105
  5660.  
  5661. (Table 00104)
  5662. Call VBE/AF v1.0P function "SetCursorPos" with:
  5663.     ES:EDI -> device context buffer (see #00089)
  5664.     EAX = cursor X coordinate
  5665.     EBX = cursor Y coordinate
  5666.     CL = cursor's X hotspot
  5667.     CH = cursor's Y hotspot
  5668. SeeAlso: #00089,#00103,#00105
  5669.  
  5670. (Table 00105)
  5671. Call VBE/AF v1.0P function "SetCursorColor" with:
  5672.     ES:EDI -> device context buffer (see #00089)
  5673.     AL = 8-bit color index, or color's Red value
  5674.     AH = color's Green value (16-bpp, 24-bpp, 32-bpp modes)
  5675.     BL = color's Blue value (16-bpp, 24-bpp, 32-bpp modes)
  5676. SeeAlso: #00089,#00103,#00104,#00106
  5677.  
  5678. (Table 00106)
  5679. Call VBE/AF v1.0P function "ShowCursor" with:
  5680.     ES:EDI -> device context buffer (see #00089)
  5681.     AL = new visibility (00h hide cursor, 01h show cursor)
  5682. SeeAlso: #00089,#00103,#00104,#00105
  5683.  
  5684. (Table 00107)
  5685. Call VBE/AF v1.0P function "WaitTillIdle" with:
  5686.     ES:EDI -> device context buffer (see #00089)
  5687. Desc:    pause until the hardware accelerator has completed all pending
  5688.       operations
  5689. SeeAlso: #00089,#00108,#00109
  5690.  
  5691. (Table 00108)
  5692. Call VBE/AF v1.0P function "EnableDirectAccess" with:
  5693.     ES:EDI -> device context buffer (see #00089)
  5694. SeeAlso: #00089,#00109,#00107,AX=4F05h,#00078,#00080
  5695.  
  5696. (Table 00109)
  5697. Call VBE/AF v1.0P function "DisableDirectAccess" with:
  5698.     ES:EDI -> device context buffer (see #00089)
  5699. SeeAlso: #00089,#00108
  5700. --------V-104F0C-----------------------------
  5701. INT 10 - VESA SuperVGA BIOS - RESERVED FOR FUTURE SVGA FUNCTIONS
  5702.     AX = 4F0Ch-4F0Fh
  5703. SeeAlso: AX=4F00h
  5704. --------V-104F0B-----------------------------
  5705. INT 10 - Diamond Viper V330 - ???
  5706.     AX = 4F0Bh
  5707.     ECX = ???
  5708.     ???
  5709. Return: AL = 4Fh if function supported
  5710.     AH = status
  5711.         00h successful
  5712.         ECX = ???
  5713.         ???
  5714.         01h failed
  5715. Note:    in BIOS v1.62, ECX is in multiples of 10000 (decimal) for both input
  5716.       and output, and this function never fails
  5717. --------p-104F10BL00-------------------------
  5718. INT 10 - VESA VBE/PM (Power Management) v1.0+ - GET CAPABILITIES
  5719.     AX = 4F10h
  5720.     BL = 00h
  5721.     ES:DI = 0000h:0000h (reserved for future use as pointer to info block)
  5722. Return: AL = 4Fh if function supported (installed)
  5723.     AH = call status
  5724.         00h successful
  5725.         else failed
  5726.     ---if successful---
  5727.     BL = VBE/PM version (bits 7-4: major, bits 3-0: minor)
  5728.     BH = supported states (see #00110)
  5729.     ES:DI unchanged
  5730. Index:    installation check;VESA VBE/Power Management|VESA DPMS
  5731. SeeAlso: AX=4F10h/BL=01h,AX=4F10h/BL=02h
  5732.  
  5733. Bitfields for VESA VBE/PM supported power states:
  5734. Bit(s)    Description    (Table 00110)
  5735.  0    standby
  5736.  1    suspend
  5737.  2    off
  5738.  3    reduced on
  5739. --------p-104F10BL01-------------------------
  5740. INT 10 - VESA VBE/PM (Power Management) v1.0+ - SET DISPLAY POWER STATE
  5741.     AX = 4F10h
  5742.     BL = 01h
  5743.     BH = new state (see #00111)
  5744. Return: AL = 4Fh if function supported
  5745.     AH = call status
  5746.         00h successful
  5747.         else failed
  5748. SeeAlso: AX=4F10h/BL=00h,AX=4F10h/BL=02h,AX=A00Ch
  5749.  
  5750. (Table 00111)
  5751. Values for VESA VBE/PM power state:
  5752.  00h    On
  5753.  01h    standby
  5754.  02h    suspend
  5755.  04h    Off
  5756.  08h    reduced On (for flat screens)
  5757. --------p-104F10BL02-------------------------
  5758. INT 10 - VESA VBE/PM (Power Management) v1.0+ - GET DISPLAY POWER STATE
  5759.     AX = 4F10h
  5760.     BL = 02h
  5761. Return: AL = 4Fh if function supported
  5762.     AH = call status
  5763.         00h successful
  5764.            BH = current power state (see #00111)
  5765.         else failed
  5766. SeeAlso: AX=4F10h/BL=00h,AX=4F10h/BL=01h,AX=A00Dh
  5767. --------V-104F11-----------------------------
  5768. INT 10 - VESA VBE/FP (Flat Panel Interface) - API
  5769.     AX = 4F11h
  5770.     BL = function
  5771.         00h installation check / get capabilities
  5772.     other registers vary by function
  5773. Return: varies by function
  5774. --------V-104F12-----------------------------
  5775. INT 10 - VESA VBE/CI (Cursor Interface) - API
  5776.     AX = 4F12h
  5777.     BL = function
  5778.     other registers vary by function
  5779. Return: varies by function
  5780. SeeAlso: AX=4F4Dh
  5781. --------s-104F13BX0000-----------------------
  5782. INT 10 - VESA VBE/AI (Audio Interface) - INSTALLATION CHECK
  5783.     AX = 4F13h
  5784.     BX = 0000h
  5785. Return: AL = 4Fh if function supported
  5786.         AH = status
  5787.         00h successful
  5788.             BX = version (0010h for 1.00 -- note nonstandard value!)
  5789.         01h failed
  5790. SeeAlso: AX=4F13h/BX=0001h,AX=4F13h/BX=0005h
  5791. --------s-104F13BX0001-----------------------
  5792. INT 10 - VESA VBE/AI (Audio Interface) - LOCATE DEVICE
  5793.     AX = 4F13h
  5794.     BX = 0001h
  5795.     CX = 0000h ???
  5796.     DX = type of device
  5797.         0001h Wave device
  5798.         0002h MIDI device
  5799.         0003h Volume device
  5800. Return: AL = 4Fh if function supported
  5801.         AH = status
  5802.         00h successful
  5803.             CX = handle [returned 1 for DX=1 and 3, and 2 for DX=2]
  5804.         01h failed
  5805. SeeAlso: AX=4F13h/BX=0000h,AX=4F13h/BX=0002h
  5806. --------s-104F13BX0002-----------------------
  5807. INT 10 - VESA VBE/AI (Audio Interface) - QUERY DEVICE
  5808.     AX = 4F13h
  5809.     BX = 0002h
  5810.     CX = handle
  5811.     DX = query
  5812.         0001h return length of GeneralDeviceClass
  5813.         0002h return copy    of GeneralDeviceClass (see #00112)
  5814.         0003h return length of Volume Info Structure
  5815.         0004h return copy    of Volume Info Structure (see #00122)
  5816.         0005h return length of Volume Services Structure
  5817.         0006h return copy    of Volume Services Structure (see #00124)
  5818.         0007h-000Fh reserved
  5819.         0010h-FFFFh device-specific
  5820.     SI:DI -> buffer (functions 0002h,0004h,0006h)
  5821. Return: AL = 4Fh if function supported
  5822.         AH = status
  5823.         00h successful
  5824.             SI:DI = length (functions 1,3,5)
  5825.             SI:DI buffer filled (functions 2,4,6)
  5826.         01h failed
  5827. Note:    functions 0003h to 0006h are only supported for the Volume device
  5828.  
  5829. Format of GeneralDeviceClass structure:
  5830. Offset    Size    Description    (Table 00112)
  5831.  00h    4 BYTEs    name of the structure ("GENI")
  5832.  04h    DWORD    structure length
  5833.  08h    WORD    type of device (1=Wave, 2=MIDI)
  5834.  0Ah    WORD    version of VESA driver support (0100h for 1.00)
  5835.  10h    var    for CX=handle for Wave device:
  5836.             Wave Info structure (see #00113)
  5837.             some bytes ???
  5838.         for CX=handle for MIDI device:
  5839.             MIDI Info Structure (see #00118)
  5840.             first 8 bytes of MIDI Service Structure ???
  5841. SeeAlso: #00122,#00124
  5842.  
  5843. Format of WAVE Info Structure:
  5844. Offset    Size    Description    (Table 00113)
  5845.  00h    4 BYTEs    name of the structure ("WAVI")
  5846.  04h    DWORD    structure length [0000007Eh]
  5847.  08h    DWORD    driver software version [00000003h]
  5848.  0Ch 32 BYTEs    vendor name, etc. (ASCIZ string)
  5849.  2Ch 32 BYTEs    vendor product name
  5850.  4Ch 32 BYTEs    vendor chip/hardware description
  5851.  6Ch    BYTE    installed board number
  5852.  6Dh    3 BYTEs    unused data
  5853.  70h    DWORD    feature bits (see #00114)
  5854.  74h    WORD    user determined preference field
  5855.  76h    WORD    memory required for driver use [0200h]
  5856.  78h    WORD    number of timer tick callbacks per second [0000h]
  5857.  7Ah    WORD    channels: 1 = mono, 2 = stereo
  5858.         stereo is assumed to be interleaved data
  5859.  7Ch    WORD    bitfield of max sample sizes (see #00115)
  5860. SeeAlso: #00118
  5861.  
  5862. Bitfields for Wave feature bits:
  5863. Bit(s)    Description    (Table 00114)
  5864.  0    8000hz Mono Playback
  5865.  1    8000hz Mono Record
  5866.  2    8000hz Stereo Record
  5867.  3    8000hz Stereo Playback
  5868.  4    8000hz Full Duplex Play/Record
  5869.  5    11025hz Mono Playback
  5870.  6    11025hz Mono Record
  5871.  7    11025hz Stereo Record
  5872.  8    11025hz Stereo Playback
  5873.  9    11025hz Full Duplex Play/Record
  5874.  10    22050hz Mono Playback
  5875.  11    22050hz Mono Record
  5876.  12    22050hz Stereo Record
  5877.  13    22050hz Stereo Playback
  5878.  14    22050hz Full Duplex Play/Record
  5879.  15    44100hz Mono Playback
  5880.  16    44100hz Mono Record
  5881.  17    44100hz Stereo Record
  5882.  18    44100hz Stereo Playback
  5883.  19    44100hz Full Duplex Play/Record
  5884.  20-26    reserved (0)
  5885.  27    driver must pre-handle the data
  5886.  28    Variable Sample mono   playback
  5887.  29    Variable Sample stereo playback
  5888.  30    Variable Sample mono   record
  5889.  31    Variable Sample stereo record
  5890.  
  5891. (Table 00115)
  5892. Values for Sample data size:
  5893.  01h    8bit play
  5894.  02h    16bit play
  5895.  10h    8bit record
  5896.  20h    16bit record
  5897.  
  5898. Format of WAVE Audio Services structure:
  5899. Offset    Size    Description    (Table 00116)
  5900.  00h    4 BYTEs    name of the structure
  5901.  04h    DWORD    structure length
  5902.  08h 16 BYTEs    for future expansion
  5903. ---entry points (details???)---
  5904.  18h    DWORD    DeviceCheck
  5905.         11h compression (see also #00117)
  5906.         12h driver state
  5907.         13h get current pos
  5908.         14h sample rate
  5909.         15h set preference
  5910.         16h get DMA,IRQ
  5911.         17h get IO address
  5912.         18h get mem address
  5913.         19h get mem free
  5914.         1Ah full duplex
  5915.         1Bh get block size
  5916.         1Ch get PCM format
  5917.         1Dh enable PCM format
  5918.         80h-.. vendors can add DevChks above 0x80
  5919.  1Ch    DWORD    PCMInfo
  5920.  20h    DWORD    PlayBlock
  5921.  24h    DWORD    PlayCont
  5922.  28h    DWORD    RecordBlock
  5923.  2Ch    DWORD    RecordCont
  5924.  30h    DWORD    PauseIO
  5925.  34h    DWORD    ResumeIO
  5926.  38h    DWORD    StopIO
  5927.  3Ch    DWORD    WavePrepare
  5928.  40h    DWORD    WaveRegister
  5929.  44h    DWORD    GetLastError
  5930.         01h unsupported feature/function
  5931.         02h bad sample rate
  5932.         03h bad block length
  5933.         04h bad block address
  5934.         05h app. missed an IRQ
  5935.         06h don't understand the PCM size/format
  5936.         80h-.. vendors specific errors
  5937.  48h    DWORD    TimerTick
  5938.  4Ch    DWORD    ApplPSyncCB: CallBack: play filled in by the app
  5939.  50h    DWORD    ApplRSyncCB: CallBack: rec filled in by the app
  5940. SeeAlso: #00120,#00124
  5941.  
  5942. (Table 00117)
  5943. Values for type of compression:
  5944.  01h    IMA play
  5945.  02h    ALAW play
  5946.  03h    ULAW play
  5947.  11h    IMA record
  5948.  12h    ALAW record
  5949.  13h    ULAW record
  5950.  
  5951. Format of MIDI Info Structure:
  5952. Offset    Size    Description    (Table 00118)
  5953.  00h    4 BYTEs    name of the structure ("MIDI")
  5954.  04h    DWORD    structure length
  5955.  08h    DWORD    driver software version [00000003h]
  5956.  0Ch 32 BYTEs    vendor name, etc. (ASCIZ string)
  5957.  2Ch 32 BYTEs    vendor product name
  5958.  4Ch 32 BYTEs    vendor chip/hardware description
  5959.  6Ch    BYTE    installed board number
  5960.  6Dh    3 BYTEs    unused data
  5961.  70h 14 BYTEs    the patch library file name [OPL2.BNK 00..]
  5962.  7Eh    DWORD    feature bits (see #00119)
  5963.  80h    WORD    user determined preference field
  5964.  82h    WORD    memory required for driver use
  5965.  84h    WORD    # of timer tick callbacks per second
  5966.  86h    WORD    max # of tones (voices, partials)
  5967. SeeAlso: #00112,#00120,#00122
  5968.  
  5969. Bitfields for MIDI feature bits:
  5970. Bit(s)    Description    (Table 00119)
  5971.  0-3    reserved for GM extensions
  5972.  4    Transmitter/Receiver only
  5973.  5    Patches preloaded
  5974.  6    MIDI receive has time stamp
  5975.  8    MIDI interrupt driven input supported
  5976.  9    MIDI polled input supported
  5977.  10    MIDI remote patches supported
  5978.  
  5979. Format of MIDI Service structure:
  5980. Offset    Size    Description    (Table 00120)
  5981.  00h    4 BYTEs    name of the structure ("MIDS")
  5982.  04h    DWORD    structure length
  5983.  08h 16 WORDs    patches loaded table bit field
  5984.  28h 16 BYTEs    for future expansion
  5985. ---entry points (details???)---
  5986.  38h    DWORD    device check
  5987.         11h return available tones
  5988.         12h return TRUE/FALSE if patch is understood
  5989.         13h set preference
  5990.         14h allow/disallow voice stealing
  5991.         15h get FIFO sizes
  5992.         16h get DMA,IRQ
  5993.         17h get IO address
  5994.         18h get mem address
  5995.         19h get mem free
  5996.         80h-.. vendors can add DevChks above 0x80
  5997.  3Ch    DWORD    global reset
  5998.  40h    DWORD    MIDI msg
  5999.  44h    DWORD    poll MIDI
  6000.  48h    DWORD    preload patch
  6001.  4Ch    DWORD    unload patch
  6002.  50h    DWORD    timer tick
  6003.  54h    DWORD    get last error
  6004.         01h unsupported feature/function
  6005.         02h unknown patch type (see #00121)
  6006.         03h all tones are used
  6007.         04h messages are out of sync
  6008.         05h an incoming patch was incomplete
  6009.         06h an incoming patch couldn't be stored
  6010.         07h had to drop an incoming byte
  6011.         08h driver is failing a patch download
  6012.         80h-.. vendors specific errors
  6013.  58h    DWORD    Patch Block free callback
  6014.  5Ch    DWORD    MIDI byte avail. callback
  6015. SeeAlso: #00116,#00124
  6016.  
  6017. (Table 00121)
  6018. Values for MIDI Registered Patch Types:
  6019.  10h    OPL2
  6020.  11h    OPL3
  6021.  
  6022. Format of Volume Info Structure:
  6023. Offset    Size    Description    (Table 00122)
  6024.  00h  4    BYTEs    name of the structure ("VOLI")
  6025.  04h    DWORD    structure length (00000092h)
  6026.  08h    DWORD    driver software version [00000001h]
  6027.  0Ch 32 BYTEs    vendor name, etc. (ASCIZ string)
  6028.  2Ch 32 BYTEs    vendor product name
  6029.  4Ch 32 BYTEs    vendor chip/hardware description
  6030.  6Ch    BYTE    installed board number (0 for 1st/only board)
  6031.  6Dh  3    BYTEs    unused data (0)
  6032.  70h 24 BYTEs    text name of the mixer channel
  6033.  88h    DWORD    features bits (see #00123)
  6034.  8Ch    WORD    minimum volume setting
  6035.  8Eh    WORD    maximum volume setting
  6036.  90h    WORD    attenuation/gain crossover
  6037. SeeAlso: #00112,#00124
  6038.  
  6039. Bitfields for Volume feature bits:
  6040. Bit(s)    Description    (Table 00123)
  6041.  0    Stereo Volume control available
  6042.  2    Low Pass Filter is available
  6043.  3    High Pass Filter is available
  6044.  4    Parametric Tone Control is available
  6045.  5    selectable output paths
  6046.  8    Azimuth Field positioning supported
  6047.  9    Phi Field positioning supported
  6048.  10-30    unused???
  6049.  31    Master Volume device
  6050.  
  6051. Format of Volume Services Structure:
  6052. Offset    Size    Description    (Table 00124)
  6053.  00h    4 BYTEs    name of the structure ("VOLS")
  6054.  04h    DWORD    structure length (00000038h)
  6055.  08h 16 BYTEs    16 bytes for future expansion (0)
  6056. ---entry points (details???)---
  6057.  18h    DWORD    device check
  6058.         0011h filter range
  6059.         0012h filter setting
  6060.         0013h filter current
  6061.         0014h tone range
  6062.         0015h tone setting
  6063.         0016h tone current
  6064.         0017h path
  6065.         0018h get IO address
  6066.         0080h-.. vendors can add DevChks above 0x80
  6067.  1Ch    DWORD    set vol to an absolute setting
  6068.         01h User master volume setting
  6069.         02h application master volume setting
  6070.  20h    DWORD    set 3D volume
  6071.  24h    DWORD    tone control
  6072.  28h    DWORD    filter control
  6073.  2Ch    DWORD    output path
  6074.  30h    DWORD    reset channel
  6075.  34h    DWORD    get last error
  6076.         01h unsupported feature/function
  6077.         02h out of range parameter value
  6078.         80h+ vendor-specific errors
  6079. SeeAlso: #00116,#00120
  6080. --------s-104F13BX0003-----------------------
  6081. INT 10 - VESA VBE/AI (Audio Interface) - OPEN DEVICE
  6082.     AX = 4F13h
  6083.     BX = 0003h
  6084.     CX = handle
  6085.     DX = API set (16/32-bit)
  6086.     SI = segment ???
  6087. Return: AL = 4Fh if function supported
  6088.         AH = status
  6089.         00h successful
  6090.             SI:CX -> memory ???
  6091.         01h failed
  6092. SeeAlso: AX=4F13h/BX=0000h,AX=4F13h/BX=0002h,AX=4F13h/BX=0004h
  6093. --------s-104F13BX0004-----------------------
  6094. INT 10 - VESA VBE/AI (Audio Interface) - CLOSE DEVICE
  6095.     AX = 4F13h
  6096.     BX = 0004h
  6097.     CX = handle
  6098. Return: AL = 4Fh if function supported
  6099.         AH = status
  6100.         00h successful
  6101.         01h failed
  6102. SeeAlso: AX=4F13h/BX=0000h,AX=4F13h/BX=0003h,AX=4F13h/BX=0005h
  6103. --------s-104F13BX0005-----------------------
  6104. INT 10 - VESA VBE/AI (Audio Interface) - UNINSTALL DRIVER
  6105.     AX = 4F13h
  6106.     BX = 0005h
  6107. Return: AL = 4Fh if function supported
  6108.         AH = status
  6109.         00h successful
  6110.         01h failed
  6111. SeeAlso: AX=4F13h/BX=0000h,AX=4F13h/BX=0006h
  6112. --------s-104F13BX0006-----------------------
  6113. INT 10 - VESA VBE/AI (Audio Interface) - DRIVER CHAIN/UNCHAIN
  6114.     AX = 4F13h
  6115.     BX = 0006h
  6116. Return: AL = 4Fh if function supported
  6117.         AH = status
  6118.         00h successful
  6119.         01h failed
  6120. SeeAlso: AX=4F13h/BX=0000h,AX=4F13h/BX=0005h
  6121. ----------104F14-----------------------------
  6122. INT 10 - VESA OEM Extensions - API
  6123.     AX = 4F14h
  6124.     BL = function
  6125.         00h installation check / get capabilities
  6126.     other registers vary by function
  6127. Return: varies by function
  6128. Note:    this function is provided for OEMs to implement system-specific
  6129.       functionality in a VESA-compatible manner
  6130. ----------104F14-----------------------------
  6131. INT 10 - VESA OEM Extensions - Matrox Millenium (BIOS v2.1)
  6132.     AX = 4F14h
  6133.     BL = function
  6134.         00h installation check / get capabilities
  6135.         ES:DI -> 256-byte buffer for Matrox-specific information
  6136.             (see #00125)
  6137.         Return: ES:DI buffer filled
  6138.         01h read/write MGA indexed data register
  6139.         BH = direction (00h = write, else read)
  6140.         CL = register number (80h for most-recently used register)
  6141.         CH = new value, if writing
  6142.         Return: CH = current value, if reading
  6143.         02h read/write register in MGA control space
  6144.         BH = direction and size
  6145.             bit 4: read register instead of writing
  6146.             bits 1-0: data size (00 = BYTE, 01 = WORD, 10 = DWORD)
  6147.         SI = register address
  6148.         CL/CX/ECX = new value if writing
  6149.         Return: CL/CX/ECX = current value if reading
  6150.         03h read PINS byte
  6151.         SI = offset of byte within PINS data (see #00126)
  6152.         Return: CL = value of specified PINS byte
  6153.         04h ??? (related to PLL programming)
  6154.         DX = ???
  6155.         Return: CL,EDX destroyed
  6156.         05h read BIOS byte
  6157.         SI = offset of byte relative to start of BIOS image
  6158.         Return: CL = specified byte
  6159.         else
  6160.         Return: AX = FFFFh
  6161. Return: AL = 4Fh if function supported
  6162.         AH = status
  6163.         00h successful
  6164.         01h failed
  6165. Note:    most of this info is from http:\\grafi.ii.pw.edu.pl\gbm\matrox
  6166. SeeAlso: MEM C000h:7FFCh"Matrox"
  6167.  
  6168. Format of Matrox-specific VESA extensions information:
  6169. Offset    Size    Description    (Table 00125)
  6170.  00h  7 BYTEs    signature "VBE/MGA"
  6171.  07h 10 BYTEs    ??? (01h 01h 00h 00h 00h 00h 00h 00h 00h 07h)
  6172.  11h    WORD    BIOS version (high byte = major, low byte = one-digit minor)
  6173.  13h    DWORD    -> manufacturer name (ASCIZ "Matrox")
  6174.  17h    DWORD    -> ASCIZ card name
  6175.  1Bh    DWORD    -> ??? ASCIZ string (empty string on card examined)
  6176.  1Fh    DWORD    -> ASCIZ vendor name
  6177.  23h    DWORD    -> ASCIZ BIOS file base name
  6178.  27h    DWORD    -> PINS
  6179.  2Bh    WORD    video memory size in 64K units
  6180.  2Dh    DWORD    linear address of linear frame buffer
  6181.  31h    DWORD    linear address of MGA control aperture
  6182.  35h    WORD    PCI bus/device for card???
  6183.  37h 201 BYTEs    unused??? (cleared to 00h)
  6184.  
  6185. Format of Matrox PINS data (version 3.0):
  6186. Offset    Size    Description    (Table 00126)
  6187.  00h  2 BYTEs    signature ".A" (2Eh 41h)
  6188.  02h    BYTE    structure length (40h for v3.0)
  6189.  03h    BYTE    ???
  6190.  04h    WORD    PINS version (high byte = major, low byte = minor)
  6191.  06h    WORD    date last programmed
  6192.  08h    WORD    number of times programmed
  6193.  0Ah    WORD    flags
  6194.  0Ch  8 BYTEs    ASCII serial number, three letters + five digits
  6195.  14h  8 BYTEs    ???
  6196.  1Ch  4 BYTEs    ASCII card version
  6197.  20h    DWORD    PCB revision
  6198.  24h    BYTE    maximum RAMDAC frequency in MHz (less 100)
  6199.  25h    BYTE    maximum RAMDAC frequency???
  6200.  26h    BYTE    maximum RAMDAc frequency???
  6201.  27h    BYTE    ???
  6202.  28h    BYTE    ??? timing data?
  6203.  29h    BYTE    ???
  6204.  2Ah    BYTE    ???
  6205.  2Bh    BYTE    ???
  6206.  2Ch    BYTE    ???
  6207.  2Dh    BYTE    ???
  6208.  2Eh    BYTE    ???
  6209.  2Fh    BYTE    ???
  6210.  30h  4 BYTEs    ???
  6211.  34h    BYTE    ???
  6212.  35h    BYTE    ???
  6213.  36h    BYTE    ???
  6214.  37h    BYTE    memory size in 64K units
  6215.  38h    BYTE    ???
  6216.  39h    BYTE    ???
  6217.  3Ah    BYTE    ???
  6218.  3Bh    BYTE    ???
  6219.  3Ch    BYTE    ???
  6220.  3Dh    BYTE    ???
  6221.  3Eh    BYTE    ???
  6222.  3Fh    BYTE    checksum (to make sum of all bytes MOD 256 == 00h)
  6223. --------V-104F15BL00-------------------------
  6224. INT 10 - VESA VBE/DC (Display Data Channel) - INSTALLATION CHECK / CAPABILITIES
  6225.     AX = 4F15h
  6226.     BL = 00h
  6227. Return: AL = 4Fh if function supported
  6228.         AH = status
  6229.         00h successful
  6230.             BX = ???
  6231.         01h failed
  6232.             ???
  6233. SeeAlso: AX=4F15h/BL=01h,AX=4F15h/BL=02h
  6234. --------V-104F15BL01-------------------------
  6235. INT 10 - VESA VBE/DC (Display Data Channel) - READ EDID
  6236.     AX = 4F15h
  6237.     BL = 01h
  6238.     CX = 0000h
  6239.     DX = 0000h
  6240.     ES:DI -> 128-byte buffer for EDID record (see #00127)
  6241. Return: AL = 4Fh if function supported
  6242.         AH = status
  6243.         00h successful
  6244.             ES:DI buffer filled
  6245.         01h failed (e.g. non-DDC monitor)
  6246. SeeAlso: AX=4F15h/BL=00h,AX=4F15h/BL=02h,I2C A0h"DDC"
  6247.  
  6248. Format of VESA EDID record:
  6249. Offset    Size    Description    (Table 00127)
  6250.  00h  8 BYTEs    padding (all FFh, or 00h FFh..FFh 00h)
  6251.  08h    WORD    big-endian manufacturer ID (see #00136)
  6252.         bits 14-10: first letter (01h='A', 02h='B', etc.)
  6253.         bits 9-5: second letter
  6254.         bits 4-0: third letter
  6255.  0Ah    WORD    EDID ID code -- identifies monitor model
  6256.  0Ch    DWORD    serial number or FFFFFFFFh
  6257.         for "MAG", subtract 7000000 to get actual serial number
  6258.         for "OQI", subtract 456150000
  6259.         for "PHL", subtract ???
  6260.         for "VSC", subtract 640000000
  6261.  10h    BYTE    week number of manufacture
  6262.  11h    BYTE    manufacture year - 1990
  6263.  12h    BYTE    EDID version
  6264.  13h    BYTE    EDID revision
  6265.  14h    BYTE    video input type (see #00129)
  6266.  15h    BYTE    maximum horizontal size in cm
  6267.  16h    BYTE    maximum vertical size in cm
  6268.  17h    BYTE    gamma factor (gamma = 1.0 + factor/100, so max = 3.55)
  6269.  18h    BYTE    DPMS flags (see #00128)
  6270.  19h    BYTE    chroma information: green X'/Y' and red X'/Y'
  6271.  1Ah    BYTE    chroma information: white X'/Y' and blue X'/Y'
  6272.  1Bh    BYTE    chroma information: red Y
  6273.  1Ch    BYTE    chroma information: red X
  6274.  1Dh    BYTE    chroma information: green Y
  6275.  1Eh    BYTE    chroma information: green X
  6276.  1Fh    BYTE    chroma information: blue Y
  6277.  20h    BYTE    chroma information: blue X
  6278.  21h    BYTE    chroma information: white Y
  6279.  22h    BYTE    chroma information: white X
  6280.  23h    BYTE    established timings 1 (see #00130)
  6281.  24h    BYTE    established timings 2 (see #00131)
  6282.  25h    BYTE    manufacturer's reserved timing or 00h for none
  6283.         bit 7: 1152x870 @ 75 Hz (Mac II, Apple)
  6284.  26h  8 WORDs    standard timing identification
  6285.         resolution (low byte) and vertical frequency (high byte) for
  6286.           each of eight modes (see #00132)
  6287.         X resolution = (lowbyte + 31) * 8
  6288.  36h 18 BYTEs    detailed timing description #1 (see #00133)
  6289.         (v1.1) alternately, text identification (see #00135)
  6290.  48h 18 BYTEs    detailed timing description #2
  6291.         (v1.1) alternately, text identification (see #00135)
  6292.  5Ah 18 BYTEs    detailed timing description #3
  6293.         (v1.1) alternately, text identification (see #00135)
  6294.  6Ch 18 BYTEs    detailed timing description #4
  6295.         (v1.1) alternately, text identification (see #00135)
  6296.  7Eh    BYTE    unused???
  6297.  7Fh    BYTE    checksum
  6298.         (radix-complement: 256-low byte of 16-bit sum of 00h-7Eh)
  6299.  
  6300. Bitfields for DPMS EDID flags:
  6301. Bit(s)    Description    (Table 00128)
  6302.  2-0    unused???
  6303.  3    display type
  6304.     =0 non-RGB multicolor
  6305.     =1 RGB color
  6306.  4    unused???
  6307.  5    Active Off supported
  6308.  6    Suspend supported
  6309.  7    Standby supported
  6310. SeeAlso: #00127
  6311.  
  6312. Bitfields for DPMS input signal type:
  6313. Bit(s)    Description    (Table 00129)
  6314.  0    separate sync
  6315.  1    composite sync
  6316.  2    sync on green
  6317.  4-3    unused???
  6318.  6-5    voltage level
  6319.     00 0.700V/0.300V (1.00 Vp-p)
  6320.     01 0.714V/0.286V
  6321.     10 0.100V/0.400V
  6322.     11 reserved
  6323.  7    =1 digital signal, =0 analog
  6324. SeeAlso: #00127
  6325.  
  6326. Bitfields for DPMS established timings 1:
  6327. Bit(s)    Description    (Table 00130)
  6328.  0    720x400 @ 70 Hz (VGA 640x400, IBM)
  6329.  1    720x400 @ 88 Hz (XGA2)
  6330.  2    640x480 @ 60 Hz (VGA)
  6331.  3    640x480 @ 67 Hz (Mac II, Apple)
  6332.  4    640x480 @ 72 Hz (VESA)
  6333.  5    640x480 @ 75 Hz (VESA)
  6334.  6    800x600 @ 56 Hz (VESA)
  6335.  7    800x600 @ 60 Hz (VESA)
  6336. SeeAlso: #00127,#00131
  6337.  
  6338. Bitfields for DPMS established timings 2:
  6339. Bit(s)    Description    (Table 00131)
  6340.  0    800x600 @ 72 Hz (VESA)
  6341.  1    800x600 @ 75 Hz (VESA)
  6342.  2    832x624 @ 75 Hz (Mac II)
  6343.  3    1024x768 @ 87 Hz interlaced (8514A)
  6344.  4    1024x768 @ 60 Hz (VESA)
  6345.  5    1024x768 @ 70 Hz (VESA)
  6346.  6    1024x768 @ 75 Hz (VESA)
  6347.  7    1280x1024 @ 75 Hz (VESA)
  6348. SeeAlso: #00127,#00130
  6349.  
  6350. Bitfields for DPMS standard timing information:
  6351. Bit(s)    Description    (Table 00132)
  6352.  5-0    vertical refresh frequency - 60 (Hz)
  6353.  7-6    aspect ratio (Y resolution = X resolution * aspect ratio)
  6354.     00 ???
  6355.     01 0.75
  6356.     10 0.8
  6357.     11 0.5625
  6358. Note:    if both bytes of the timing are 00h or 01h, then the Standard Timing
  6359.       is "None"
  6360. SeeAlso: #00127
  6361.  
  6362. Format of Detailed Timing Description:
  6363. Offset    Size    Description    (Table 00133)
  6364.  00h    BYTE    horizontal frequency in kHz (if 00h, may be text)(see #00135)
  6365.  01h    BYTE    vertical frequency in Hz
  6366.  02h    BYTE    horizontal active time (pixels) and X resolution
  6367.  03h    BYTE    horizontal blanking time (pixels)
  6368.  04h    BYTE    horizontal active time 2 / horizontal blanking time 2
  6369.  05h    BYTE    vertical active time (lines) and Y resolution
  6370.  06h    BYTE    vertical blanking time (lines)
  6371.  07h    BYTE    vertical active time 2 / vertical blanking time 2
  6372.  08h    BYTE    horizontal sync offset (pixels)
  6373.  09h    BYTE    horizontal sync pulsewidth (pixels)
  6374.  0Ah    BYTE    vertical sync offset / vertical sync pulsewidth
  6375.  0Bh    BYTE    vertical/horizontal sync offset 2 / vert/hor. sync pulsewidth 2
  6376.  0Ch    BYTE    horizontal image size (mm)
  6377.  0Dh    BYTE    vertical image size (mm)
  6378.  0Eh    BYTE    horizontal image size 2 / vertical image size 2
  6379.  0Fh    BYTE    horizontal border (pixels)
  6380.  10h    BYTE    vertical border (lines)
  6381.  11h    BYTE    type of display (see #00134)
  6382. SeeAlso: #00127,#00135
  6383.  
  6384. Bitfields for EDID detailed display type:
  6385. Bit(s)    Description    (Table 00134)
  6386.  7    interlaced
  6387.  6-5    stereo mode
  6388.     00 normal display (no stereo)
  6389.     01 stereo, right stereo sync high
  6390.     10 stereo, left stereo sync high
  6391.     11 undefined
  6392.  4-3    sync type
  6393.     00 sync analog composite
  6394.     01 sync bipolar analog composite
  6395.     10 sync digital composite
  6396.     11 sync digital separate
  6397. ---sync digital separate---
  6398.  2    vertical sync polarity (0 = negative, 1 = positive)
  6399.  1    horizontal sync polarity (0 = negative, 1 = positive)
  6400. ---other sync types---
  6401.  2    serrate
  6402.  1    sync location (0 = on green, 1 = on RGB)
  6403. ------
  6404.  0    not used???    
  6405. SeeAlso: #00133
  6406.  
  6407. Format of EDID Text Identification Strings:
  6408. Offset    Size    Description    (Table 00135)
  6409.  00h  3 BYTEs    00h 00h 00h (to distinguish from detailed timing description)
  6410.  03h    BYTE    text identifier
  6411.         FFh serial number
  6412.         FEh vendor name
  6413.         FDh vertical/horizontal frequency range
  6414.         FCh model name
  6415. ---frequency range---
  6416.  04h    BYTE    00h ???
  6417.  05h    BYTE    minimum vertical refresh frequency in Hz
  6418.  06h    BYTE    maximum vertical refresh
  6419.  07h    BYTE    minimum horizontal frequency in kHz
  6420.  08h    BYTE    maximum horizontal frequency
  6421.  09h    BYTE    FFh ???
  6422. ---other---
  6423.  04h 14 BYTEs    text, may be terminated with either a NUL (00h) or LF (0Ah)
  6424. SeeAlso: #00132
  6425.  
  6426. (Table 00136)
  6427. Values for manufacturer ID:
  6428.  "AOC"    AOC International (USA) Ltd. (see #00137)
  6429.  "API"    Acer (see #00138)
  6430.  "APP"    Apple Computer, Inc. (see #00139)
  6431.  "AST"    AST Research (see #00140)
  6432.  "CPL"    ALFA (see #00141)
  6433.  "CPQ"    COMPAQ (see #00142)
  6434.  "CTX"    CTX - Chuntex Electronic (see #00143)
  6435.  "DEC"    Digital Equipment Corporation (see #00144)
  6436.  "DEL"    Dell Computer Corp. (see #00145)
  6437.  "DPC"    Delta Electronics, Inc. (see #00146)
  6438.  "DWE"    Daewoo (see #00147)
  6439.  "ECS"    ELITEGROUP Computer Systems (see #00148)
  6440.  "EIZ"    EIZO (see #00149)
  6441.  "GSM"    LG Electronics Inc. (see #00158)
  6442.  "HEI"    Hyundai Electronics Industries Co., Ltd. (see #00150)
  6443.  "HIT"    Hitachi (see #00151)
  6444.  "HSL"    Hansol Electronics (see #00152)
  6445.  "HTC"    Hitachi Ltd. (see #00153)
  6446.  "HWP"    Hewlett Packard (see #00154)
  6447.  "IBM"    IBM PC Company (see #00155)
  6448.  "ICL"    Fujitsu ICL  (see #00156)
  6449.  "IVM"    Idek Iiyama North America, Inc. (see #00157)
  6450.  "LKM"    AZALEA
  6451.  "LNK"    LINK Technologies, Inc.
  6452.  "MAG"    MAG Technology Co., Ltd. (see #00159)
  6453.  "MAX"    Maxdata Computer GmbH
  6454.  "MEI"    Panasonic Comm. & Systems Co. (see #00168)
  6455.  "MEL"    Mitsubishi Electronics (see #00160)
  6456.  "MIR"    miro Computer Products AG (see #00161)
  6457.  "MTC"    MITAC
  6458.  "NAN"    NANAO (see #00162)
  6459.  "NEC"    NEC Technologies, Inc. (see #00163)
  6460.  "NOK"    Nokia (see #00164)
  6461.  "OQI"    OPTIQUEST (see #00165)
  6462.  "PGS"    Princeton Graphic Systems (see #00166)
  6463.  "PHL"    Philips Consumer Electronics Co. (see #00167)
  6464.  "REL"    Relisys
  6465.  "SAM"    Samsung (see #00169)
  6466.  "SDI"    Samtron (see #00170)
  6467.  "SNI"    Siemens Nixdorf
  6468.  "SNY"    Sony Corporation
  6469.  "TAT"    Tatung Co. of America, Inc. (see #00171)
  6470.  "TRL"    Royal Information Company (see #00172)
  6471.  "UNM"    Unisys Corporation
  6472.  "VSC"    ViewSonic Corporation (see #00173)
  6473.  "___"    Targa
  6474. SeeAlso: #00127
  6475.  
  6476. (Table 00137)
  6477. Values for AOC monitor EDID:
  6478.  A566h    AOC SPECTRUM 5Nlr
  6479.  A782h    AOC SPECTRUM 7Nlr
  6480.  D350h    AOC SPECTRUM 4V, 4VA, 4Vlr, 4VlrA
  6481.  D566h    AOC SPECTRUM 5Vlr, 5VlrA
  6482.  E570h    AOC SPECTRUM 5Glr
  6483.  E750h    AOC SPECTRUM 7DlrA
  6484. SeeAlso: #00136,#00138
  6485.  
  6486. (Table 00138)
  6487. Values for Acer monitor EDID:
  6488.  0037h    AcerView 55
  6489.  424Ch    AcerView 76ie
  6490.  440Bh    AcerView 11D
  6491.  4421h    AcerView 33D
  6492.  4522h    AcerView 7134e
  6493.  4536h    AcerView 7154e
  6494.  4538h    AcerView 7156e
  6495.  454Ch    AcerView 7176ie
  6496.  454Eh    AcerView 7178ie
  6497.  4938h    AcerView 7156i
  6498.  494Ch    AcerView 76i
  6499.  494Eh    AcerView 78i
  6500.  4962h    AcerView 98i
  6501.  4C21h    AcerView 33DL
  6502.  4C22h    AcerView 34TL
  6503.  4C37h    AcerView 55L
  6504.  4C38h    AcerView 56L
  6505.  4E4Ch    AcerView 76N
  6506.  5321h    AcerView 7133s
  6507.  5322h    AcerView 7134s
  6508.  5336h    AcerView 7154s
  6509.  5338h    AcerView 7156s, 7156is
  6510.  534Ch    AcerView 7176is
  6511.  5422h    AcerView 34T
  6512. SeeAlso: #00136,#00137,#00140
  6513.  
  6514. (Table 00139)
  6515. Values for Apple Computer monitor EDID:
  6516.  0352h    AppleVision 850
  6517. SeeAlso: #00136
  6518.  
  6519. (Table 00140)
  6520. Values for AST monitor EDID:
  6521.  8001h    ASTVision 4V
  6522.  8002h    ASTVision 4I
  6523.  8003h    ASTVision 4N
  6524.  8004h    ASTVision 4L
  6525.  8005h    ASTVision 5L
  6526.  8006h    ASTVision 7L
  6527.  8007h    ASTVision 7H
  6528.  8008h    ASTVision 20H
  6529.  8009h    AST Sabre
  6530.  800Ah    ASTVision 5V
  6531. SeeAlso: #00136,#00127,#00138,#00141
  6532.  
  6533. (Table 00141)
  6534. Values for ALFA monitor EDID:
  6535.  096Bh    ALFA TH-450
  6536. SeeAlso: #00136,#00140,#00142
  6537.  
  6538. (Table 00142)
  6539. Values for Compaq monitor EDID:
  6540.  0011h    COMPAQ 1024
  6541.  0012h    COMPAQ 1024
  6542.  0013h    COMPAQ 1024
  6543.  0014h    COMPAQ 1024
  6544.  0015h    COMPAQ 1024
  6545.  0016h    COMPAQ 1024
  6546.  0017h    COMPAQ PRB
  6547.  0018h    COMPAQ PRB
  6548.  0019h    COMPAQ PRB
  6549.  001Ah    COMPAQ PRB
  6550.  0020h    COMPAQ PRB
  6551.  0021h    COMPAQ PRB
  6552.  0022h    COMPAQ 151FS
  6553.  0023h    COMPAQ 151FS
  6554.  0024h    COMPAQ 151FS
  6555.  0025h    COMPAQ 151FS
  6556.  0026h    COMPAQ 151FS
  6557.  0027h    COMPAQ 151FS
  6558.  0028h    COMPAQ 151FS
  6559.  0029h    COMPAQ PRB
  6560.  002Ah    COMPAQ PRB
  6561.  002Bh    COMPAQ PRB
  6562.  002Ch    COMPAQ PRB
  6563.  002Dh    COMPAQ 171FS
  6564.  002Eh    COMPAQ 171FS
  6565.  002Fh    COMPAQ 171FS
  6566.  0030h    COMPAQ 171FS
  6567.  0031h    COMPAQ 171FS
  6568.  0032h    COMPAQ 171FS
  6569.  0033h    COMPAQ 171FS
  6570.  0040h    COMPAQ QVision 200
  6571.  0041h    COMPAQ QVision 200
  6572.  0042h    COMPAQ QVision 200
  6573.  0043h    COMPAQ QVision 200
  6574.  0044h    COMPAQ QVision 200
  6575.  0045h    COMPAQ QVision 200
  6576.  0046h    COMPAQ QVision 200
  6577.  0047h    COMPAQ QVision 200
  6578.  0048h    COMPAQ QVision 200
  6579.  0049h    COMPAQ QVision 200
  6580.  0100h    COMPAQ 1024
  6581.  0146h    COMPAQ 1024
  6582.  0147h    COMPAQ 1024
  6583.  0346h    COMPAQ 151FS
  6584.  0347h    COMPAQ 151FS
  6585.  0348h    COMPAQ 151FS
  6586.  0349h    COMPAQ 151FS
  6587.  034Ah    COMPAQ 151FS
  6588.  034Bh    COMPAQ 151FS
  6589.  0546h    COMPAQ 171FS
  6590.  0547h    COMPAQ 171FS
  6591.  0548h    COMPAQ 171FS
  6592.  0549h    COMPAQ 171FS
  6593.  0746h    COMPAQ PRB
  6594.  0747h    COMPAQ PRB
  6595.  0846h    COMPAQ PRA
  6596.  0847h    COMPAQ PRA
  6597.  0848h    COMPAQ PRA
  6598.  0849h    COMPAQ PRA
  6599.  084Ah    COMPAQ PRA
  6600.  084Bh    COMPAQ PRA
  6601.  084Ch    COMPAQ PRA
  6602.  084Dh    COMPAQ PRA
  6603.  0946h    COMPAQ PRB
  6604.  0947h    COMPAQ PRB
  6605.  0948h    COMPAQ PRB
  6606.  0949h    COMPAQ PRB
  6607.  0A46h    COMPAQ PRA
  6608.  0A47h    COMPAQ PRA
  6609.  0A48h    COMPAQ PRA
  6610.  0A49h    COMPAQ PRA
  6611.  0A4Ah    COMPAQ PRA
  6612.  0A4Bh    COMPAQ PRA
  6613.  0A4Ch    COMPAQ PRA
  6614.  0A4Dh    COMPAQ PRA
  6615.  0D46h    COMPAQ 140
  6616.  0D47h    COMPAQ 140
  6617.  0D48h    COMPAQ 140
  6618.  0D49h    COMPAQ 140
  6619.  0D4Ah    COMPAQ 140
  6620.  0D4Bh    COMPAQ 140
  6621.  0D4Ch    COMPAQ 140
  6622.  0D4Dh    COMPAQ 140
  6623.  0F46h    COMPAQ 150
  6624.  0F47h    COMPAQ 150
  6625.  0F48h    COMPAQ 150
  6626.  0F49h    COMPAQ 150
  6627.  0F4Ah    COMPAQ 150
  6628.  0F4Bh    COMPAQ 150
  6629.  0F4Ch    COMPAQ 150
  6630.  0F4Dh    COMPAQ 150
  6631. SeeAlso: #00136,#00141,#00143
  6632.  
  6633. (Table 00143)
  6634. Values for "CTX" monitor EDID:
  6635.  1451h    CTX 1451
  6636.  1551h    CTX 1551
  6637.  1562h    CTX 1562
  6638.  1565h    CTX 1565
  6639.  1569h    CTX 1569S 15-inch
  6640.  1765h    CTX 1765
  6641.  1785h    CTX 1785 XE
  6642.  2085h    CTX 2085
  6643.  2185h    CTX 2185
  6644. SeeAlso: #00136,#00142,#00144
  6645.  
  6646. (Table 00144)
  6647. Values for Digital Equipment Corporation monitor EDID:
  6648.  06FAh    Digital 21" Color (FR-PCXAV-WZ)
  6649.  073Ah    Digital 17" Color (FR-PCXAV-YZ)
  6650.  BA08h    Digital 15" Color Monitor (FR-PCXBV-E*)
  6651.  DA08h    Digital 17" Color Monitor (FR-PCXBV-F*)
  6652. SeeAlso: #00136,#00143,#00145
  6653.  
  6654. (Table 00145)
  6655. Values for Dell monitor EDID:
  6656.  139Ah    Dell Ultrascan 14XE
  6657.  139Bh    Dell Ultrascan 14XE
  6658.  139Ch    Dell Ultrascan 14XE
  6659.  139Dh    Dell Ultrascan 14XE
  6660.  2210h    Dell Ultrascan V17X
  6661.  2211h    Dell Ultrascan V17X
  6662.  2212h    Dell Ultrascan V17X
  6663.  2213h    Dell Ultrascan V17X
  6664.  2214h    Dell Ultrascan 21TE
  6665.  2215h    Dell Ultrascan 21TE
  6666.  2216h    Dell Ultrascan 21TE
  6667.  2217h    Dell Ultrascan 21TE
  6668.  3024h    Dell VS17X
  6669.  3025h    Dell VS17X
  6670.  3026h    Dell VS17X
  6671.  3027h    Dell VS17X
  6672.  4273h    Dell VS15X
  6673. SeeAlso: #00136,#00144,#00146
  6674.  
  6675. (Table 00146)
  6676. Values for Delta Electronics monitor EDID:
  6677.  0456h    Delta DA-456
  6678.  1565h    Delta DA-1565
  6679.  1765h    Delta DA-1765
  6680. SeeAlso: #00136,#00145,#00147
  6681.  
  6682. (Table 00147)
  6683. Values for Daewoo monitor EDID:
  6684.  1423h    Daewoo CMC-1423B1
  6685.  1427h    Daewoo CMC-1427X1
  6686.  1502h    Daewoo CMC-1502B1
  6687.  1505h    Daewoo CMC-1505X
  6688.  1507h    Daewoo CMC-1507X1
  6689.  1703h    Daewoo CMC-1703B
  6690.  5133h    Daewoo CMC-1511B
  6691.  7044h    Daewoo CMC-1704C
  6692. SeeAlso: #00136,#00146,#00148
  6693.  
  6694. (Table 00148)
  6695. Values for ELITEGROUP Computer Systems monitor EDID:
  6696.  0001h    ECS VERTOS 1401
  6697.  0002h    ECS VERTOS 1501
  6698.  0003h    ECS VERTOS 1502
  6699.  0004h    ECS VERTOS 1503
  6700.  0005h    ECS VERTOS 1700
  6701.  0006h    ECS VERTOS 1701
  6702.  0007h    ECS VERTOS 1700
  6703.  0008h    ECS VERTOS 2101
  6704.  0009h    ECS VERTOS 2102
  6705. SeeAlso: #00136,#00147,#00149
  6706.  
  6707. (Table 00149)
  6708. Values for EIZO monitor EDID:
  6709.  0200h    EIZO FlexScan F351
  6710.  0201h    EIZO FlexScan F553
  6711.  0202h    EIZO FlexScan F563
  6712.  0203h    EIZO FlexScan F764
  6713.  0204h    EIZO FlexScan F784
  6714.  0206h    EIZO FlexScan 6600
  6715.  0300h    EIZO FlexScan 6500
  6716.  0302h    EIZO 9060S
  6717.  0303h    EIZO 9065S
  6718.  0305h    EIZO FlexScan T563
  6719.  0306h    EIZO 9070S
  6720.  0307h    EIZO 9080i
  6721.  0308h    EIZO 9400i
  6722.  0309h    EIZO 9500
  6723.  030Ah    EIZO FlexScan F340iW
  6724.  030Ch    EIZO FlexScan F552
  6725.  030Dh    EIZO FlexScan F560iW
  6726.  030Fh    EIZO FlexScan F760iW
  6727.  0310h    EIZO FlexScan F780iW
  6728.  0311h    EIZO FlexScan T560i
  6729.  0312h    EIZO FlexScan T660i
  6730.  0313h    EIZO FlexScan T562
  6731.  0314h    EIZO FlexScan T662
  6732.  038Ch    EIZO FlexScan F550iW
  6733. SeeAlso: #00136,#00148,#00150
  6734.  
  6735. (Table 00150)
  6736. Values for Hyundai monitor EDID:
  6737.  0B42h    Hyundai Deluxscan 21       
  6738.  12F0h    Hyundai Deluxscan 14S    
  6739.  16D8h    Hyundai Deluxscan 15B    
  6740.  16E8h    Hyundai Deluxscan 15G    
  6741.  16EEh    Hyundai Delucscan 15G+    
  6742.  1E02h    Hyundai Deluxscan 17 Pro
  6743.  1EB8h    Hyundai Deluxscan 17B    
  6744.  1EBEh    Hyundai Deluxscan 17B+    
  6745.  5864h    Hyundai DeluxScan 15 Pro
  6746.  B81Eh    Hyundai DeluxScan 17
  6747. SeeAlso: #00136,#00149,#00151
  6748.  
  6749. (Table 00151)
  6750. Values for Hitachi monitor EDID:
  6751.  1717h    Hitachi Accuvue GX17L
  6752.  1727h    Hitachi HM1764
  6753.  1827h    Hitachi HM1782
  6754.  2147h    Hitachi HM4721
  6755.  2149h    Hitachi HM4921
  6756.  4020h    Hitachi HM4020
  6757.  4021h    Hitachi HM4021
  6758.  4711h    Hitachi Accuvue UX4721
  6759.  4810h    Hitachi Accuvue GX20
  6760.  4811h    Hitachi Accuvue GX21
  6761.  4820h    Hitachi HM4820
  6762.  4821h    Hitachi HM4821
  6763.  4830h    Hitachi Accuvue GX20H
  6764.  4911h    Hitachi Accuvue UX4921
  6765.  6421h    Hitachi HM6421
  6766.  6811h    Hitachi Accuvue UX6821
  6767.  6821h    Hitachi HM6821
  6768. SeeAlso: #00136,#00150,#00152
  6769.  
  6770. (Table 00152)
  6771. Values for Hansol Electronics monitor EDID:
  6772.  0579    Hansol Electronics Mazellan14px
  6773.  057A    Hansol Electronics Mazellan400A
  6774.  05DD    Hansol Electronics Mazellan15ax
  6775.  A605    Hansol Electronics Mazellan17px 
  6776. SeeAlso: #00136,#00151,#00153
  6777.  
  6778. (Table 00153)
  6779. Values for Hitachi, Ltd. monitor EDID:
  6780.  AB6Fh    CM-1711M
  6781.  ABC2h    CM-2112M
  6782.  ABC7h    CM-2111M
  6783.  ABCCh    CM-2110M
  6784.  ABE0h    Hitachi, Ltd CM802
  6785.  ABE2h    Hitachi, Ltd CM801
  6786.  ABE3h    Hitachi, Ltd CM800
  6787.  ABEAh    Hitachi, Ltd CM803
  6788.  ABF4h    Hitachi, Ltd CM701
  6789.  AFC8h    Hitachi, Ltd CM500
  6790.  AFD2h    Hitachi, Ltd CM600
  6791.  AFD7h    Hitachi, Ltd CM611
  6792. SeeAlso: #00136,#00152,#00154
  6793.  
  6794. (Table 00154)
  6795. Values for Hewlett-Packard monitor EDID:
  6796.  0AF0h    HP D2800A Ultra VGA 1600 21"
  6797.  0AF6h    HP D2806A Ergo Ultra VGA 15"
  6798.  0AF8h    HP D2808 1024 Low Emission
  6799.  0AFFh    HP D2815A 1024 Low Emission 14"
  6800.  0F11h    HP D3857A Multi Media 15"
  6801.  0F12h    HP D3858A Multi Media 14"
  6802. SeeAlso: #00136,#00151,#00155
  6803.  
  6804. (Table 00155)
  6805. Values for IBM monitor EDID:
  6806.  198Eh    IBM G41
  6807.  198Fh    IBM G50
  6808.  1990h    IBM G70
  6809.  1991h    IBM G200
  6810.  1999h    IBM P50
  6811.  199Ah    IBM P70
  6812.  199Bh    IBM P200
  6813.  1BB7h    IBM 7095
  6814.  1BB9h    IBM 7097
  6815.  2112h    IBM 2112
  6816.  2113h    IBM 2113
  6817.  2114h    IBM 2114
  6818.  2115h    IBM 2115
  6819.  2117h    IBM 2117
  6820.  2215h    IBM 2215
  6821.  2238h    IBM 2238
  6822.  2248h    IBM 2248
  6823.  2264h    IBM 2264
  6824.  2535h    IBM 9525-0X1
  6825.  26ACh    IBM Aptiva 9900
  6826.  27ADh    IBM Aptiva 9901
  6827.  6312h    IBM 6312
  6828.  6314h    IBM 6314
  6829.  6315h    IBM 6315
  6830.  6317h    IBM 6317
  6831.  6319h    IBM 6319
  6832.  6321h    IBM 6321
  6833.  6322h    IBM 6322
  6834.  6324h    IBM 6324
  6835.  6325h    IBM 6325
  6836.  6327h    IBM 6327
  6837.  8504h    IBM 8504
  6838.  8511h    IBM 8511
  6839.  8512h    IBM 8512
  6840.  8513h    IBM 8513
  6841.  8514h    IBM 8514
  6842.  8515h    IBM 8515
  6843.  8517h    IBM 8517
  6844.  8518h    IBM 8518
  6845.  9504h    IBM 9504
  6846.  9515h    IBM 9515
  6847.  9517h    IBM 9517
  6848.  9518h    IBM 9518
  6849.  9521h    IBM 9521
  6850.  9524h    IBM 9524
  6851.  9525h    IBM 9525
  6852.  9527h    IBM 9527
  6853. SeeAlso: #00136,#00154,#00156
  6854.  
  6855. (Table 00156)
  6856. Values for Fujitsu ICL monitor EDID:
  6857.  0100h    Fujitsu ICL ErgoPro 211v
  6858.  0200h    Fujitsu ICL ErgoPro 171p
  6859.  0400h    Fujitsu ICL ErgoPro 171v
  6860.  0700h    Fujitsu ICL ErgoPro 151p
  6861.  0800h    Fujitsu ICL ErgoPro 151p AutoBrite
  6862.  0A00h    Fujitsu ICL ErgoPro 151v
  6863.  0B00h    Fujitsu ICL ErgoPro 141v
  6864.  0D00h    Fujitsu ICL ErgoPro 141p
  6865.  0F00h    Fujitsu ICL ErgoPro 152v
  6866.  1400h    Fujitsu ICL ErgoPro 142v
  6867.  1600h    Fujitsu ICL ErgoPro e153
  6868.  1900h    Fujitsu ICL ErgoPro x173
  6869.  1A00h    Fujitsu ICL ErgoPro x173a
  6870.  1C00h    Fujitsu ICL ErgoPro x152
  6871.  1D00h    Fujitsu ICL ErgoPro e173
  6872.  2200h    FUJITSU ErgoPro e154
  6873.  2400h    FUJITSU ErgoPro x174
  6874. SeeAlso: #00136,#00155,#00157
  6875.  
  6876. (Table 00157)
  6877. Values for Idek Iiyama North America monitor EDID:
  6878.  1700h    Iiyama Vision Master MF-8617
  6879. SeeAlso: #00136,#00156,#00158
  6880.  
  6881. (Table 00158)
  6882. Values for LG Electronics monitor EDID:
  6883.  36B4h    LG StudioWorks 44m
  6884.  36B9h    LG StudioWorks 44i
  6885.  3AA0h    LG 1505s
  6886.  3AA2h    LG StudioWorks 56m
  6887.  3AAFh    LG StudioWorks 56T 15-inch
  6888.  3AB0h    LG StudioWorks 5D
  6889.  3AB6h    LG StudioWorks 5D
  6890.  426Ch    LG StudioWorks 78i
  6891.  426Dh    LG StudioWorks 78T
  6892.  426Eh    LG StudioWorks 76i
  6893.  4273h    LG StudioWorks 76m
  6894.  4274h    LG StudioWorks 78m
  6895.  4277h    LG StudioWorks 74m
  6896.  4278h    LG StudioWorks 74i
  6897.  427Eh    LG StudioWorks 7D
  6898.  427Fh    LG StudioWorks 78D
  6899.  4280h    LG StudioWorks 78DT
  6900.  4281h    LG StudioWorks 7DT
  6901.  4284h    LG StudioWorks 76T
  6902.  42CFh    LG 1725s
  6903.  4E21h    LG StudioWorks 20i
  6904. SeeAlso: #00136,#00157,#00159
  6905.  
  6906. (Table 00159)
  6907. Values for MAG monitor EDID:
  6908.  5620h    DX1595
  6909.  5624h    DX15T
  6910.  5626h    DX1795
  6911. SeeAlso: #00136,#00158,#00160
  6912.  
  6913. (Table 00160)
  6914. Values for Mitsubishi monitor EDID:
  6915.  0040h    Mitsubishi Diamond Pro 21TX (THN-9105)
  6916.  2040h    Mitsubishi Diamond Scan 20H (FR-8905)
  6917.  2040h    Mitsubishi Diamond Pro 20X (FR-8905B)
  6918.  6140h    Mitsubishi Diamond Scan 17HX (FFF8705)
  6919.  8040h    Mitsubishi Diamond Pro 15H (SD-57xxC)
  6920.  4040h    Mitsubishi Diamond Pro 17TX (TFG-8705)
  6921.  408Fh    Mitsubishi Diamond Scan 15VX (SD58xx)
  6922.  40C0h    Mitsubishi Diamond Pro 87TXM (TFM8705)
  6923. SeeAlso: #00136,#00159,#00161
  6924.  
  6925. (Table 00161)
  6926. Values for Miro monitor EDID:
  6927.  0721h    PROOFSCREEN miroC21107
  6928.  6815h    miroD1568
  6929.  6817h    PROOFSCREEN miroC1768
  6930.  6917h    miroD1769
  6931.  8217h    PROOFSCREEN miroC1782
  6932.  8520h    PROOFSCREEN miroC2085 E
  6933.  8521h    PROOFSCREEN miroC2185
  6934.  9321h    PROOFSCREEN miroC2193
  6935. SeeAlso: #00136,#00160,#00162
  6936.  
  6937. (Table 00162)
  6938. Values for Nanao monitor EDID:
  6939.  0000h    NANAO USA FlexScan T2-20
  6940.  0400h    NANAO USA F2-15
  6941.  0401h    NANAO USA F2-17
  6942.  0402h    NANAO USA F2-17EX
  6943.  0403h    NANAO USA F2-21
  6944.  0404h    NANAO USA FX2-21
  6945.  0405h    NANAO USA FlexScan T2-17TS
  6946.  0406h    NANAO FlexScan 6600
  6947.  0502h    NANAO 9060S
  6948.  0503h    NANAO 9065S
  6949.  0506h    NANAO 9070U
  6950.  0507h    NANAO 9080i
  6951.  0508h    NANAO 9400i
  6952.  0509h    NANAO 9500
  6953.  050Ah    NANAO FlexScan F340iW
  6954.  050Bh    NANAO FlexScan F550i
  6955.  050Ch    NANAO FlexScan F550iW
  6956.  050Dh    NANAO FlexScan F560iW
  6957.  050Eh    NANAO FlexScan F750i
  6958.  050Fh    NANAO FlexScan F760iW
  6959.  0510h    NANAO FlexScan F780iW
  6960.  0511h    NANAO FlexScan T560i
  6961.  0512h    NANAO FlexScan T660i
  6962.  0513h    NANAO USA FlexScan T2-17
  6963.  0514h    NANAO USA FlexScan T2-20
  6964.  0580h    NANAO USA FlexScan 6300
  6965.  0800h    NANAO FlexScan 33F
  6966.  0802h    NANAO FlexScan 88F
  6967.  0805h    NANAO FlexScan 54T
  6968.  0882h    NANAO FlexScan 52F
  6969.  0900h    NANAO FlexScan 6500
  6970.  0902h    NANAO 9060S
  6971.  0906h    NANAO 9070U
  6972.  0907h    NANAO 9080i
  6973.  090Ah    NANAO FlexScan F347
  6974.  090Bh    NANAO FlexScan F550i
  6975.  090Ch    NANAO FlexScan F557
  6976.  090Fh    NANAO FlexScan 77F
  6977.  0910h    NANAO FlexScan F780iJ
  6978.  0911h    NANAO FlexScan T560iJ
  6979.  0912h    NANAO FlexScan T660iJ
  6980.  0913h    NANAO FlexScan 56T
  6981.  0914h    NANAO FlexScan 68T
  6982.  098Ah    NANAO FlexScan F347II
  6983.  098Ch    NANAO FlexScan 55F
  6984.  098Fh    NANAO FlexScan 76F
  6985.  0991h    NANAO FlexScan T567
  6986.  0993h    NANAO FlexScan 53T
  6987. SeeAlso: #00136,#00161,#00163
  6988.  
  6989. (Table 00163)
  6990. Values for NEC monitor EDID:
  6991.  37FAh    NEC MultiSync XV14
  6992.  37FBh    NEC MultiSync XV14
  6993.  3A66h    NEC MultiSync C400
  6994.  3C00h    NEC MultiSync XE15
  6995.  3C0Ah    NEC MultiSync XP15
  6996.  3C14h    NEC MultiSync XV15
  6997.  3C1Eh    NEC MultiSync XE15
  6998.  3D5Eh    NEC MultiSync XV15+
  6999.  3D68h    NEC MultiSync M500
  7000.  3E4Eh    NEC MultiSync C500
  7001.  43A8h    NEC MultiSync XE17
  7002.  43B2h    NEC MultiSync XE17
  7003.  43BCh    NEC MultiSync XV17
  7004.  4416h    NEC MultiSync XP17
  7005.  533Eh    NEC MultiSync XE21
  7006.  53B6h    NEC MultiSync XP21
  7007. SeeAlso: #00136,#00162,#00164
  7008.  
  7009. (Table 00164)
  7010. Values for Nokia monitor EDID:
  7011.  008Dh    NOKIA 449M
  7012.  0098h    NOKIA 449X
  7013.  00A3h    NOKIA 447KC
  7014.  00A9h    NOKIA 447XI
  7015.  00ABh    NOKIA 447KA
  7016.  00ADh    NOKIA 447M
  7017.  00B7h    NOKIA 447W
  7018.  00B8h    NOKIA 447X
  7019.  00BBh    NOKIA 447XAV
  7020.  00BCh    NOKIA 447K
  7021.  00D2h    NOKIA 445R
  7022. SeeAlso: #00136,#00163,#00165
  7023.  
  7024. (Table 00165)
  7025. Values for OptiQuest monitor EDID:
  7026.  3138h    OPTIQUEST VA656
  7027.  3141h    OPTIQUEST 14ES
  7028.  3232h    OPTIQUEST 1562A-2
  7029.  3233h    OPTIQUEST 1769DC
  7030.  3234h    OPTIQUEST 1000S-2
  7031.  3332h    OPTIQUEST V655
  7032.  3333h    OPTIQUEST V775
  7033.  3432h    OPTIQUEST V650
  7034.  3832h    OPTIQUEST V665
  7035.  4637h    OPTIQUEST 1769DC
  7036. SeeAlso: #00136,#00164,#00166
  7037.  
  7038. (Table 00166)
  7039. Values for Princeton Graphics monitor EDID:
  7040.  003Bh    Princeton EO15
  7041.  003Dh    Princeton EO17
  7042. SeeAlso: #00136,#00165,#00167
  7043.  
  7044. (Table 00167)
  7045. Values for Philips monitor EDID:
  7046.  0200h    Philips CM0200 (15C)
  7047.  0500h    Philips CM0500 (20C)
  7048.  0700h    Philips CM0700 (20T)
  7049.  0800h    Philips CM0800 (15B)
  7050.  1200h    Philips CM1200 (15A)
  7051.  1800h    Philips CM1800 (15A)
  7052.  2000h    Philips CM0200 (14B)
  7053.  2600h    Philips 17TCM26
  7054.  2800h    Philips 17BCM28
  7055.  3800h    Philips 17ACM38
  7056.  5600h    Philips CM5600 (20B)
  7057.  700Bh    Philips CM0700 (21B)
  7058.  8000h    Philips CM0800 (14A)
  7059. SeeAlso: #00136,#00166,#00168
  7060.  
  7061. (Table 00168)
  7062. Values for Panasonic monitor EDID:
  7063.  1604h    Panasonic TX-D2151W-ES
  7064.  1610h    Panasonic TX-D2151NM
  7065. SeeAlso: #00136,#00167,#00169
  7066.  
  7067. (Table 00169)
  7068. Values for Samsung monitor EDID:
  7069.  0000h    Samsung SyncMaster 3Ne
  7070.  0100h    Samsung SyncMaster 4S
  7071.  1530h    Samsung 15GLsi
  7072.  4610h    Samsung SyncMaster 21GLs
  7073.  4690h    Samsung SyncMaster 20GLsi
  7074.  4D50h    Samsung SyncMaster 15GLe
  7075.  4D51h    Samsung SyncMaster 15GLi
  7076.  4D52h    Samsung SyncMaster 15M
  7077.  4D70h    Samsung SyncMaster 17GLi
  7078.  4D71h    Samsung SyncMaster 17GLsi
  7079.  4D72h    Samsung SyncMaster 6Ne
  7080.  4D73h    Samsung 17GLi
  7081.  4D74h    Samsung 17GLsi
  7082.  5450h    Samsung SyncMaster 15Me
  7083.  6D20h    Samsung SyncMaster 15GLe
  7084. SeeAlso: #00136,#00168,#00170
  7085.  
  7086. (Table 00170)
  7087. Values for Samtron monitor EDID:
  7088.  1428h    Samtron 428PT/PTL
  7089.  1528h    Samtron SC-528TXL
  7090.  1529h    Samtron SC-528UXL
  7091.  1530h    Samtron SC-528MXLJ
  7092.  4690h    Samtron SC-208DXL+
  7093.  4D70h    Samtron SC-728FXL
  7094.  4D71h    Samtron SC-726GXL
  7095.  5451h    Samtron SC-528MDL
  7096. SeeAlso: #00136,#00169,#00171
  7097.  
  7098. (Table 00171)
  7099. Values for Tatung monitor EDID:
  7100.  1F65h    Intelliscan TM651x series 15"
  7101.  1F67h    Intelliscan TM671x series 17"
  7102.  2F44h    Intelliscan TM442x series 14"
  7103.  2F45h    Intelliscan TM452x series 15"
  7104.  434Dh    Tatung CM-17MC
  7105.  4855h    Tatung CM-14UH
  7106. SeeAlso: #00136,#00170,#00172
  7107.  
  7108. (Table 00172)
  7109. Values for Royal Information Company monitor EDID:
  7110.  061Ch    TRL/RIC DL-1564
  7111.  0622h    TRL/RIC DH-1570
  7112. SeeAlso: #00136,#00171,#00173
  7113.  
  7114. (Table 00173)
  7115. Values for ViewSonic monitor EDID:
  7116.  0C00h    ViewSonic 17GS
  7117.  0C0Fh    ViewSonic 17PS
  7118.  0C1Fh    ViewSonic 17GA
  7119.  1600h    ViewSonic 21PS-2
  7120.  2601h    ViewSonic 15GS
  7121.  2600h    ViewSonic 15GS-2
  7122.  3141h    ViewSonic 14ES
  7123.  3142h    ViewSonic 14ES
  7124.  3143h    ViewSonic 14ES
  7125.  3145h    ViewSonic 15GS-3
  7126.  3252h    ViewSonic 21PS-2
  7127.  3253h    ViewSonic 21PS-2
  7128.  334Bh    ViewSonic 17GS-2
  7129.  334Ch    ViewSonic 17GS-2
  7130.  3351h    ViewSonic PT810
  7131.  344Bh    ViewSonic 17PS-2
  7132.  344Ch    ViewSonic 17PS-2
  7133.  3451h    ViewSonic PT810-2
  7134.  354Dh    ViewSonic GT800
  7135.  354Eh    ViewSonic GT800
  7136.  3550h    ViewSonic GT800
  7137.  3644h    ViewSonic 15GA
  7138.  3646h    ViewSonic 15GA
  7139.  3648h    ViewSonic 15GA
  7140.  364Ah    ViewSonic PT770
  7141.  364Bh    ViewSonic PT770
  7142.  364Ch    ViewSonic PT770
  7143.  3744h    ViewSonic 15G-2
  7144.  3746h    ViewSonic 15G-2
  7145.  3748h    ViewSonic 15G-2
  7146.  374Bh    ViewSonic 17GA
  7147.  374Ch    ViewSonic 17GA
  7148.  3844h    ViewSonic 15ES-2
  7149.  3846h    ViewSonic 15ES-2
  7150.  3848h    ViewSonic 15ES-2
  7151.  384Ah    ViewSonic 17EA
  7152.  384Bh    ViewSonic 17EA
  7153.  384Ch    ViewSonic 17EA
  7154.  3944h    ViewSonic 15GS-2
  7155.  3946h    ViewSonic 15GS-2
  7156.  3948h    ViewSonic 15GS-2
  7157.  394Ah    ViewSonic 17GS-2
  7158.  394Bh    ViewSonic 17GS-2
  7159.  394Ch    ViewSonic 17GS-2
  7160.  424Ah    ViewSonic GT770
  7161.  424Bh    ViewSonic GT770
  7162.  424Ch    ViewSonic GT770
  7163.  434Ah    ViewSonic 17PS-2
  7164.  434Bh    ViewSonic 17PS-2
  7165.  434Ch    ViewSonic 17PS-2
  7166.  4439h    ViewSonic 15GS-2
  7167.  444Ah    ViewSonic 17GA-2
  7168.  4637h    ViewSonic 1769DC
  7169. SeeAlso: #00136,#00172
  7170. --------V-104F15BL02-------------------------
  7171. INT 10 - VESA VBE/DC (Display Data Channel) - READ VDIF
  7172.     AX = 4F15h
  7173.     BL = 02h
  7174.     ???
  7175. Return: AL = 4Fh if function supported
  7176.         AH = status
  7177.         00h successful
  7178.             ???
  7179.         01h failed
  7180. SeeAlso: AX=4F15h/BL=00h,AX=4F15h/BL=01h
  7181. --------V-104F16-----------------------------
  7182. INT 10 - VESA VBE/GC (Graphics System Configuration) - API
  7183.     AX = 4F16h
  7184.     BL = function
  7185.         00h installation check / get capabilities
  7186.     other registers vary by function
  7187. Return: varies by function
  7188. --------V-104F17-----------------------------
  7189. INT 10 - VESA VBE/AF (Accelerator Functions) - API
  7190.     AX = 4F17h
  7191.     BL = function
  7192.         00h installation check / get capabilities
  7193.     other registers vary by function
  7194. Return:    AL = 4Fh if function supported
  7195.         AH = status
  7196.         00h successful
  7197.         01h failed
  7198.         02h hardware does not support function
  7199.         03h function not available in current video mode
  7200.         else reserved for future error codes
  7201.     other vary by function
  7202. Notes:    the accelerator function code should be given a 32-bit protected
  7203.       mode stack which has at least 1024 bytes available for use by the
  7204.       VBE/AF code
  7205.     when called, the I/O permission bitmap must allow access to any
  7206.       ports which VBE/AF may require for operation
  7207. SeeAlso: AX=4F0Bh
  7208. --------V-104F4D-----------------------------
  7209. INT 10 - VESA - VIDEO CURSOR INTERFACE REQUEST
  7210.     AX = 4F4Dh
  7211.     BX = number of bytes available for VCI use
  7212.     DS:0000h -> buffer for VCI
  7213.     ES:DI -> VCI driver callback function
  7214. Return: AL = 4Fh if supported
  7215.         AH = status
  7216.         00h successful
  7217.             BX = number of bytes used by VCI
  7218.             ES:DI -> VCI request handler
  7219.         01h failed
  7220. Desc:    allow the VESA BIOS Extensions to cooperate with a pointing-device
  7221.       (typically mouse) driver
  7222. SeeAlso: AX=4F12h
  7223. --------V-104F70-----------------------------
  7224. INT 10 - Avance Logic - GET ADAPTER INFORMATION
  7225.     AX = 4F70h
  7226. Return:    AX = 004Fh if successful
  7227.         BL = board information (see #00174)
  7228.         BH = board type???
  7229.         00h on ALG2101
  7230.         FFh otherwise
  7231. SeeAlso: AX=4F00h
  7232.  
  7233. Bitfields for Avance Logic board information:
  7234. Bit(s)    Description    (Table 00174)
  7235.  0-1    video RAM size
  7236.     00 256K
  7237.     01 512K
  7238.     10 1M
  7239.     11 2M
  7240.  2    ???
  7241.  3    slot size???
  7242.     =0 8-bit slot
  7243.     =1 16-bit slot
  7244.  4    unused
  7245.  5    set on ALG2228/AL2301
  7246.  6-7    unused
  7247. --------V-104FDD-----------------------------
  7248. INT 10 - ATI M64VBE.COM - GET RESIDENT SEGMENT
  7249.     AX = 4FDDh
  7250. Return: AX = CS of resident code
  7251. Program: M64VBE is a VESA VBE 2.0 driver TSR for ATI's Mach64 video chip
  7252. SeeAlso: AX=4FFFh/BX=364Dh"M64VBE",INT 60"M64VBE"
  7253. --------V-104FFF-----------------------------
  7254. INT 10 - VESA SuperVGA BIOS - Everex - TURN VESA ON/OFF
  7255.     AX = 4FFFh
  7256.     DL = new state (00h off, 01h on)
  7257. Return: AX = 0000h if successful
  7258. --------V-104FFF-----------------------------
  7259. INT 10 - Diamond Stealth 24 - SET/RESET DUAL DISPLAY MODE
  7260.     AX = 4FFFh
  7261.     BX = dual display mode
  7262.         00h reset
  7263.         01h set dual display, 32KB VGA test
  7264.         02h set dual display, 64KB VGA test
  7265. Return: AX = 4F00h if successful
  7266.         BX = number of scanlines off screen for test mode
  7267. --------V-104FFFBX364D-----------------------
  7268. INT 10 - ATI M64VBE.COM - UNINSTALL
  7269.     AX = 4FFFh
  7270.     BX = 364Dh ('6M')
  7271.     CX = 5634h ('V4')
  7272. Return: AX,DX,DS,ES destroyed
  7273. Program: M64VBE is a VESA VBE 2.0 driver TSR for ATI's Mach64 video chip
  7274. SeeAlso: AX=4FDDh"M64VBE",INT 60"M64VBE"
  7275. --------U-1050-------------------------------
  7276. INT 10 - SCROLOCK.COM - INSTALLATION CHECK
  7277.     AH = 50h
  7278. Return: BX = 1954h if installed
  7279.         AL = 00h if inactive, nonzero if active
  7280. Program: SCROLOCK is a utility supplied with System Enhancement Associates'
  7281.       ARC archiver
  7282. SeeAlso: AH=51h
  7283. --------J-105000-----------------------------
  7284. INT 10 - VIDEO - AX PC - SET SCREEN COUNTRY CODE
  7285.     AX = 5000h
  7286.     BX = country code
  7287.         0001h USA (English), 0051h Japan
  7288. Return: AL = status
  7289.         00h successful
  7290.         01h bad country code
  7291.         02h other error
  7292. SeeAlso: AX=5001h,INT 16/AX=5000h
  7293. --------J-105001-----------------------------
  7294. INT 10 - VIDEO - AX PC - GET SCREEN COUNTRY CODE
  7295.     AX = 5001h
  7296. Return: AL = status
  7297.         00h successful
  7298.         BX = country code
  7299.         02h error
  7300. SeeAlso: AH=00h,AX=5000h,INT 16/AX=5001h,INT 21/AH=38h
  7301. --------V-105049-----------------------------
  7302. INT 10 - VIDEO - SCREENR v1.55+ - API
  7303.     AX = 5049h ('PI')
  7304.     BX = function
  7305.         0000h installation check
  7306.         0001h lock mode
  7307.         0002h unlock mode
  7308.         0003h lock palette
  7309.         0004h unlock palette
  7310. Return: AX = 0000h if installed
  7311.         BX = TSR version (BH=major,BL=minor)
  7312.         CL = mode locking status
  7313.         00h mode not locked
  7314.         01h mode locked: INT 10/AH=00h disabled
  7315.         CH = palette locking status
  7316.         00h palette not locked
  7317.         01h palette locked, the following functions are disabled:
  7318.             AX=1000h, AX=1001h, AX=1002h, AX=1010h, AX=1012h
  7319. Program: SCREENR is a TSR supplied with Patrick Ibbetson's SCREEN display
  7320.       utility.
  7321. Index:    installation check;SCREENR
  7322. --------U-1051-------------------------------
  7323. INT 10 - SCROLOCK.COM - ENABLE/DISABLE
  7324.     AH = 51h
  7325.     AL = state
  7326.         00h disable
  7327.         nonzero enable
  7328. Return: nothing
  7329. Program: SCROLOCK is a utility supplied with System Enhancement Associates'
  7330.       ARC file archiver
  7331. SeeAlso: AH=50h"SCROLOCK"
  7332. --------J-105100-----------------------------
  7333. INT 10 - VIDEO - AX PC - REGISTER EXTERNAL CHARACTER
  7334.     AX = 5100h
  7335.     BH = character width in bits (10h)
  7336.     BL = character height (10h)
  7337.     DX = character code (DH = F0h-F3h, DL=40h-7Eh,80h-FCh)
  7338.     ES:BP -> character bitmap
  7339. Return: AL = status (00h successful, 01h failed)
  7340. SeeAlso: AX=5101h,INT 1F"SYSTEM DATA"
  7341. --------J-105101-----------------------------
  7342. INT 10 - VIDEO - AX PC - READ CHARACTER
  7343.     AX = 5101h
  7344.     BH = character width in bits
  7345.     BL = character height
  7346.     DX = character code (DH = 00h if 8-bit character)
  7347.     ES:BP -> buffer for character bitmap
  7348. Return: AL = status (00h successful, 01h failed)
  7349. SeeAlso: AH=09h,AX=5100h
  7350. --------J-105200-----------------------------
  7351. INT 10 - VIDEO - AX PC - SET VIRTUAL TEXT RAM BUFFER
  7352.     AX = 5200h
  7353.     BX = segment of buffer
  7354. Return: nothing
  7355. SeeAlso: AX=5201h
  7356. --------J-105201-----------------------------
  7357. INT 10 - VIDEO - AX PC - GET VIRTUAL TEXT RAM BUFFER
  7358.     AX = 5201h
  7359. Return: BX = segment of buffer or 0000h if failed
  7360. SeeAlso: AX=8300h,AH=FEh
  7361. ----------1053-------------------------------
  7362. INT 10 - Show Partner F/X v3.6 - START PRESENTATION
  7363.     AH = 53h
  7364.     DS:DX -> ASCIZ name of presentation file (no path, extension forced to
  7365.         .PR2)
  7366. Return: ???
  7367. SeeAlso: AH=55h
  7368. ----------1055-------------------------------
  7369. INT 10 - Show Partner F/X v3.6 - UNINSTALL
  7370.     AH = 55h
  7371. Return: FXSHOW.EXE removed from memory
  7372. SeeAlso: AH=53h
  7373. --------V-105555-----------------------------
  7374. INT 10 - VIDEO - ATI EGA/VGA Wonder Super Switch - INSTALLATION CHECK
  7375.     AX = 5555h
  7376. Return: AX = AAAAh    if installed
  7377.     BX:CX -> ??? routine in SMS.COM resident portion
  7378.           -> data area (see #00175) in VCONFIG
  7379. Program: Super Switch (SMS.COM) is a video mode switch program supplied with
  7380.       ATI EGA Wonder. It also maps video mode 08h to 27h or 23h.
  7381. SeeAlso: INT 10/AH=00h,INT 14/AX=AA01h,INT 2F/AX=6400h
  7382. Index:    screen saver;ATI Wonder SMS.COM
  7383.  
  7384. Format of ATI Super Switch data area:
  7385. Offset    Size    Description    (Table 00175)
  7386.  00h    DWORD    original INT 09 vector
  7387.  04h    DWORD    original INT 10 vector
  7388.  08h    DWORD    original INT 1C vector
  7389.  0Ch    WORD    screen saver state, 0=off, 1=on
  7390.  0Eh    WORD    blanking interval in clock ticks
  7391. --------V-105F00-----------------------------
  7392. INT 10 - Chips & Technologies Extended BIOS - RETURN CHIP INFORMATION
  7393.     AX = 5F00h
  7394. Return: AL = 5Fh function supported
  7395.         BL = chip type (see #00176)
  7396.         BH = video memory size (see #00177)
  7397.         CX = miscellaneous information (see #00178)
  7398. SeeAlso: AX=5F01h
  7399.  
  7400. Bitfields for Chips&Technologies chip type:
  7401. Bit(s)    Description    (Table 00176)
  7402.  7-4    chip type
  7403.     0000: 82c451
  7404.     0001: 82c452 / 82c452A
  7405.     0010: 82c455
  7406.     0011: 82c453
  7407.     0100: 82c450
  7408.     0101: 82c456
  7409.     0110: 82c457
  7410.     0111: F65520
  7411.     1000: F65530 / F65525
  7412.     1001: F66510
  7413.     1010: ???
  7414.     1011: F64300 "Wingine DGX"
  7415.     1100: F65535/F65545 ???
  7416.     1101: F65540
  7417.     1110: ???
  7418.     1111: ???
  7419.  3-0    revision number
  7420. SeeAlso: #00177
  7421.  
  7422. (Table 00177)
  7423. Values for Chips&Technologies video memory size:
  7424.  00h    256KB
  7425.  01h    512KB
  7426.  02h    1MB
  7427.  03h    2MB
  7428. SeeAlso: #00176
  7429.  
  7430. Bitfields for Chips&Technologies miscellaneous information:
  7431. Bit(s)    Description    (Table 00178)
  7432.  0    DAC size (0=6-bit, 1=8-bit)
  7433.  1    system type (0=PC/AT, 1=PS/2)
  7434.  2    extended text modes supported by BIOS
  7435.  3    reserved
  7436.  4    extended graphics modes supported by BIOS
  7437.  5    reserved
  7438.  6    BIOS supports graphics cursor
  7439.  7    BIOS supports anti-aliased font
  7440.  8    BIOS supports pre-programmed emulation
  7441.  9    BIOS supports auto emulation
  7442.  10    BIOS supports variable mode set at cold boot
  7443.  11    BIOS supports variable mode set on warm boot
  7444.  12    BIOS supports emulation mode set at cold boot
  7445.  13    BIOS supports emulation mode set on warm boot
  7446.  14-15    reserved
  7447. --------V-105F00-----------------------------
  7448. INT 10 - VIDEO - Realtek RTVGA - RETURN CHIP VERSION
  7449.     AX = 5F00h
  7450. Return: AH = 00h, if successful
  7451.     AL = chip version (the same value that VTEST.EXE reads)
  7452.         00h RTG3103???
  7453.         01h RTG31030/RTG3105
  7454.         02h RTG3106???
  7455.         3Fh non-Realtek chip
  7456. BUG:    in v3.C10, AX=5F00h on return due to improper stack restoration code
  7457. SeeAlso: AX=5F01h"RTVGA"
  7458. --------V-105F01-----------------------------
  7459. INT 10 - Chips & Technologies Extended BIOS - SET PREPROGRAMMED EMULATION
  7460.     AX = 5F01h
  7461.     BL = emulation type (see #00179)
  7462. Return: AL = 5Fh if function supported
  7463.         AH = status
  7464.         00h unsuccessful
  7465.         01h successful
  7466. SeeAlso: AX=5F00h,AX=5F02h,AH=FFh"Oak"
  7467.  
  7468. (Table 00179)
  7469. Values for Chips&Technologies emulation type:
  7470.  00h,01h reserved
  7471.  02h    CGA
  7472.  03h    MDA
  7473.  04h    Hercules
  7474.  05h    EGA
  7475.  06h    VGA (disable emulation)
  7476. --------V-105F01-----------------------------
  7477. INT 10 - VIDEO - Realtek RTVGA - WRITE RTVGA BIOS STRING TO DESTINATION
  7478.     AX = 5F01h
  7479.     ES:DI -> zero-filled buffer for BIOS ID string
  7480. Return: AH = 00h if successful
  7481.     ES:DI -> ASCII signature "REALTEK VGA BIOS Version 3C.10"
  7482. BUG:    in v3.C10, AX=5F01h on return due to improper stack restoration code
  7483. SeeAlso: AX=5F00h"RTVGA",AX=5F02h"RTVGA"
  7484. --------V-105F02-----------------------------
  7485. INT 10 - Chips & Technologies Extended BIOS - AUTO EMULATION CONTROL
  7486.     AX = 5F02h
  7487.     BL = new state of autmatic emulation (00h enabled, 01h disabled)
  7488. Return: AL = 5Fh if function supported
  7489.         AH = status
  7490.         00h unsuccessful
  7491.         01h successful
  7492. SeeAlso: AX=5F01h,AX=5F03h
  7493. --------V-105F02-----------------------------
  7494. INT 10 - Chips & Technologies '64300' BIOS - SET CLOCK
  7495.     AX = 5F02h
  7496.     BH = what to set
  7497.         02h dot clock
  7498.         BL = speed in MHz (12-99)
  7499.         03h memory clock
  7500.         BL = speed in MHz (12-99)
  7501.         FFh default dot and memory clocks
  7502. Return: AL = 5Fh if function supported
  7503.         AH = status
  7504.         00h unsuccessful
  7505.         01h successful
  7506. SeeAlso: AX=5F00h"Chips",AX=5F03h"64300",AX=5F02h"65530"
  7507. --------V-105F02-----------------------------
  7508. INT 10 - Chips & Technologies '65530' BIOS - SET CLOCK
  7509.     AX = 5F02h
  7510.     BH = what to set
  7511.         02h dot clock
  7512.         BL = new clock speed (see #00180)
  7513.         03h memory clock
  7514.         BL = new clock speed (see #00180)
  7515.         04h set power-down register
  7516.         BL = new value for power-down register (bits 3-0 only)
  7517.         06h (404 clock chip) set control register
  7518.         BL = new vlaue for control register (bits 5-0 only)
  7519.         06h (404A/B/B-ES clock chips) set control register PWRDN1
  7520.         BL = new value for control register
  7521.         07h (404A/B/B-ES clock chips) set control register PWRDN1
  7522.         BL = new value for control register
  7523.         FFh default dot and memory clocks
  7524. Return: AL = 5Fh if function supported
  7525.         AH = status
  7526.         00h unsuccessful
  7527.         01h successful
  7528. SeeAlso: AX=5F01h,AX=5F02h"64300",AX=5FA0h,#00184
  7529.  
  7530. (Table 00180)
  7531. Values for C&T '65530' BIOS clock speed:
  7532.  00h    12 MHz
  7533.  01h    14 MHz
  7534.  02h    16 MHz
  7535.  03h    18 MHz
  7536.  04h    20 MHz
  7537.  05h    25 MHz
  7538.  06h    28 MHz
  7539.  07h    32 MHz
  7540.  08h    36 MHz
  7541.  09h    40 MHz
  7542.  0Ah    45 MHz
  7543.  0Bh    50 MHz
  7544.  0Ch    56 MHz
  7545.  0Dh    60 MHz
  7546.  0Eh    65 MHz
  7547.  0Fh    66 MHz
  7548.  15h    34 MHz
  7549. --------V-105F02-----------------------------
  7550. INT 10 - VIDEO - Realtek RTVGA - RETURN RTVGA ON-BOARD MEMORY SIZE
  7551.     AX = 5F02h
  7552. Return: AH = 00h, if successful
  7553.     AL = on-board memory size
  7554.          (00h = 256K, 01h = 512K, 02h = 768K, 03h = 1024K)
  7555. BUG:    in v3.C10, AX=5F02h on return due to improper stack restoration code
  7556. SeeAlso: AX=5F01h"RTVGA",AX=5F03h"RTVGA"
  7557. --------V-105F03-----------------------------
  7558. INT 10 - VIDEO - Realtek RTVGA - SET ???
  7559.     AX = 5F03h
  7560.     BL = 0-3 (???)
  7561. Return: AH = 00h if successful
  7562. BUG:    in v3.C10, AX=5F03h on return due to improper stack restoration code
  7563. SeeAlso: AX=5F02h"RTVGA"
  7564. --------V-105F03BL00-------------------------
  7565. INT 10 - Chips & Technologies Extended BIOS - SET POWER-ON DISPLAY MODE
  7566.     AX = 5F03h
  7567.     BL = 00h
  7568.     CL = display mode
  7569.     CH = mode (see #00181)
  7570. Return: AL = 5Fh if function supported
  7571.         AH = status
  7572.         00h unsuccessful
  7573.         01h successful
  7574. SeeAlso: AX=5F02h,AX=5F03h/BL=01h"Chips",AX=5F90h
  7575.  
  7576. Bitfields for Chips&Technologies display mode:
  7577. Bit(s)    Description    (Table 00181)
  7578.  1-0    scanlines (00 = 200, 01 = 350, 10 = 400)
  7579.  7    persistence (0 reset on next boot, 1 until changed)
  7580. --------V-105F03BH00-------------------------
  7581. INT 10 - Chips & Technologies '64300' BIOS - GET CLOCK SPEED
  7582.     AX = 5F03h
  7583.     BH = 00h (get default memory clock)
  7584. Return: AL = 5Fh if function supported
  7585.         AH = status
  7586.         00h unsuccessful
  7587.         01h successful
  7588.             BL = clock speed in MHz
  7589. SeeAlso: AX=5F02h"64300",AX=5F04h"64300"
  7590. --------V-105F03BL01-------------------------
  7591. INT 10 - Chips & Technologies Extended BIOS - SET POWER-ON EMULATION MODE
  7592.     AX = 5F03h
  7593.     BL = 01h
  7594.     CL = emulation mode (see #00181)
  7595.     CH = permanence
  7596.         bit 7 persistence (0 reset on next boot, 1 until changed)
  7597. Return: AL = 5Fh if function supported
  7598.         AH = status
  7599.         00h unsuccessful
  7600.         01h successful
  7601. SeeAlso: AX=5F02h,AX=5F03h/BL=00h"Chips",AX=5F90h
  7602. --------V-105F04-----------------------------
  7603. INT 10 - Chips & Technologies '64300' BIOS - GET REFRESH RATE
  7604.     AX = 5F04h
  7605.     BL = video mode number
  7606. Return: AL = 5Fh if function supported
  7607.         AH = status
  7608.         00h unsuccessful
  7609.         01h successful
  7610.             BH = available refresh rates (see #00182)
  7611.             BL = currently-set refresh rate (see #00182)
  7612. SeeAlso: AX=5F03h"64300",AX=5F05h"64300"
  7613.  
  7614. Bitfields for C&T 64300 refresh rates:
  7615. Bit(s)    Description    (Table 00182)
  7616.  5    75 Hz
  7617.  4    72 Hz
  7618.  3    70 Hz
  7619.  2    60 Hz
  7620.  1    56 Hz
  7621.  0    interlaced
  7622. --------V-105F05-----------------------------
  7623. INT 10 - Chips & Technologies '64300' BIOS - SET REFRESH RATE
  7624.     AX = 5F05h
  7625.     BL = video mode number
  7626.     BH = refresh rate to set (see #00182)
  7627.         bit 7:    =0 program new clock and CRT parametes
  7628.             =1 keep current parameters
  7629. Return: AL = 5Fh if function supported
  7630.         AH = status
  7631.         00h unsuccessful
  7632.         01h successful
  7633. SeeAlso: AX=5F04h"64300"
  7634. --------V-105F06-----------------------------
  7635. INT 10 - Chips & Technologies '64300' BIOS - GET XRAM INFORMATION
  7636.     AX = 5F06h
  7637. Return: AL = 5Fh if function supported
  7638.         AH = status
  7639.         00h unsuccessful
  7640.         01h successful
  7641.             BL = XRAM presence (00h no XRAM, 01h present)
  7642. SeeAlso: AX=5F05h,AX=5F08h
  7643. --------V-105F08-----------------------------
  7644. INT 10 - Chips & Technologies '64300' BIOS - SET LINEAR MEMORY START ADDRESS
  7645.     AX = 5F08h
  7646.     BX = desired start address in megabytes
  7647. Return: AL = 5Fh if function supported
  7648.         AH = status
  7649.         00h unsuccessful
  7650.         01h successful
  7651. SeeAlso: AX=5F06h
  7652. --------V-105F10-----------------------------
  7653. INT 10 - Chips & Technologies '64300'/'65530' BIOS - GET LINEAR MEMORY INFO
  7654.     AX = 5F10h
  7655. Return: AL = 5Fh if function supported
  7656.         AH = status
  7657.         00h unsuccessful
  7658.         01h successful
  7659.             BX:CX = linear memory base address
  7660.             DX = virtual screen width offset (bytes)
  7661.             SI;DI = linear memory size
  7662. SeeAlso: AX=5F08h,AX=5FA0h
  7663. --------V-105F50-----------------------------
  7664. INT 10 - Chips & Technologies Extended BIOS - GET LAPTOP DISPLAY STATUS
  7665.     AX = 5F50h
  7666. Return: DL = display status (see #00183)
  7667. Note:    this call can be used on Toshiba laptops since ~1995 instead of
  7668.       INT 42/AX=7503h which is no longer supported with the F655xx chips
  7669. SeeAlso: INT 42/AX=7503h
  7670.  
  7671. Bitfields for display status:
  7672. Bit(s)    Description    (Table 00183)
  7673.  7-4    always 0 ???
  7674.  3    1: both displays active (bit 1 also set)
  7675.  2    1: normal (monochrome display only), 0: inverse or color
  7676.  1    1: internal display active, 0: external only
  7677.  0    always set ???
  7678. --------V-105F50-----------------------------
  7679. INT 10 - Chips & Technologies '65530' BIOS - GET 655xx INFORMATION
  7680.     AX = 5F50h
  7681. Return: AL = 5Fh if function supported
  7682.         AH = status
  7683.         00h unsuccessful
  7684.         01h successful
  7685.             BX = width of flat panel in pixels
  7686.             CX = height of flat panel in pixels
  7687.             DX = F65520/525/530 status (see #00184)
  7688. SeeAlso: AX=5F51h,INT 15/AX=5F31h
  7689.  
  7690. Bitfields for C&T F65520/525/530 status:
  7691. Bit(s)    Description    (Table 00184)
  7692.  15-0    reserved
  7693.  6-5    type of clock chip
  7694.     00 = 404
  7695.     01 = 404A
  7696.     10 = 404B ES
  7697.     11 = 404B
  7698.  4    accelerator enabled
  7699.  3    both displays active
  7700.  2    video polarity (1 = inverted)
  7701.  1    output device
  7702.     0 CRT
  7703.     1 flat panel (LCD)
  7704.  0    reserved
  7705. --------V-105F51-----------------------------
  7706. INT 10 - Chips & Technologies Extended BIOS - SWITCH DISPLAY DEVICE
  7707.     AX = 5F51h
  7708.     BL = new active display
  7709.         00h CRT
  7710.         01h flat panel (LCD)
  7711.         02h both simultaneously
  7712.     BH = 01h to allow reprogramming the DAC
  7713. Return: AL = 5Fh if function supported
  7714.         AH = status
  7715.         00h unsuccessful
  7716.         01h successful
  7717. SeeAlso: AX=5F50h,AX=5F53h
  7718. --------V-105F53-----------------------------
  7719. INT 10 - Chips & Technologies Extended BIOS - EN/DISABLE ACCELERATOR SUPPORT
  7720.     AX = 5F53h
  7721.     BL = new support state
  7722.         00h disable buffer/accelerator
  7723.         01h enable buffer/acelerator
  7724. Return: AL = 5Fh if function supported
  7725.         AH = status
  7726.         00h unsuccessful
  7727.         01h successful
  7728. SeeAlso: AX=5F50h,AX=5F51h,AX=5F54h
  7729. --------V-105F54-----------------------------
  7730. INT 10 - Chips & Technologies Extended BIOS - TURN FLAT PANEL ON/OFF
  7731.     AX = 5F54h
  7732.     BL = new state
  7733.         00h on
  7734.         01h off
  7735. Return: AL = 5Fh if function supported
  7736.         AH = status
  7737.         00h unsuccessful
  7738.         01h successful
  7739. SeeAlso: AX=5F50h,AX=5F51h,AX=5F53h,AX=5F5Ah
  7740. --------V-105F5A-----------------------------
  7741. INT 10 - Chips & Technologies Extended BIOS - SET FLAT-PANEL VIDEO POLARITY
  7742.     AX = 5F5Ah
  7743.     BL = new video polarity
  7744.         00h normal
  7745.         01h inverted
  7746. Return: AL = 5Fh if function supported
  7747.         AH = status
  7748.         00h unsuccessful
  7749.         01h successful
  7750. SeeAlso: AX=5F50h,AX=5F54h
  7751. --------V-105F5C-----------------------------
  7752. INT 10 - Chips & Technologies Extended BIOS - SET VERTICAL COMPENSATION
  7753.     AX = 5F5Ch
  7754.     BL = type of vertical compensation to use
  7755.         00h no compensation
  7756.         01h automatic centering
  7757.         02h set centering register
  7758.         DX = centering value (bits 9-0 only)
  7759.         03h non-automatic centering
  7760.         04h set vertical line insertion register
  7761.         DL = vertical line insertion (bits 3-0 only)
  7762.         05h set alternate maximum scanline register
  7763.         DL = alternate maximum scanline (bits 4-0 only)
  7764.         06h enable text stretching, type 0
  7765.         07h enable text stretching, type 1
  7766.         08h enable text stretching, type 2
  7767.         09h enable text stretching, type 3
  7768.         0Ah    disable text stretching
  7769.         0Bh set vertical line replication register
  7770.         DL = vertical line replication (bits 3-0 only)
  7771.         0Ch enable graphics stretching, type 0
  7772.         0Dh enable graphics stretching, type 1
  7773.         0Eh disable vertical graphics stretching
  7774.         0Fh disable all horizontal and vertical compensation
  7775.         10h enable optimal compensation
  7776.         11h disable optimal compensation
  7777. Return: AL = 5Fh if function supported
  7778.         AH = status
  7779.         00h unsuccessful
  7780.         01h successful
  7781. SeeAlso: AX=5F50h,AX=5F5Eh,AX=5F5Fh
  7782. --------V-105F5E-----------------------------
  7783. INT 10 - Chips & Technologies Extended BIOS - EN/DISABLE TALL FONT LOADING
  7784.     AX = 5F5Eh
  7785.     BL = new state of tall-font loading
  7786.         00h enable loading    of 8x19/30/32 fonts
  7787.         01h disable loading of 8x19/30/32 fonts
  7788. Return: AL = 5Fh if function supported
  7789.         AH = status
  7790.         00h unsuccessful
  7791.         01h successful
  7792. Note:    when tall fonts are enabled, the fonts are stretched by duplicating
  7793.       scan lines as appropriate to convert an 8x16 font to the proper
  7794.       height (scan lines 1/9/12 [8x19] or 2-15 [8x30] or all [8x32])
  7795. SeeAlso: AX=5F5Ch,AX=5F5Fh
  7796. --------V-105F5F-----------------------------
  7797. INT 10 - Chips & Technologies Extended BIOS - HORIZONTAL COMPENSATION
  7798.     AX = 5F5Fh
  7799.     BL = horizontal compensation type
  7800.         00h none
  7801.         01h automatic centering
  7802.         02h set centering register
  7803.         DL = centering value
  7804.         03h non-automatic centering
  7805.         04h enable text compression (force 8xN fonts)
  7806.         05h disable text compression (allow 9xN fonts)
  7807.         06h enable auto doubling
  7808.         07h disable auto doubling
  7809.         0Fh disable all horizontal and vertical compensation
  7810. Return: AL = 5Fh if function supported
  7811.         AH = status
  7812.         00h unsuccessful
  7813.         01h successful
  7814. SeeAlso: AX=5F50h,AX=5FA0h
  7815. --------V-105F90-----------------------------
  7816. INT 10 - Chips & Technologies Extended BIOS - GET SUPERVGA STATE BUFFER SIZE
  7817.     AX = 5F90h
  7818.     CX = state mask (see #00185)
  7819. Return: AL = 5Fh if function supported
  7820.         BX = number of 64-byte blocks required
  7821. SeeAlso: AH=1Ch,AX=5F03h,AX=5F91h,AX=5F92h,AX=5FA0h
  7822.  
  7823. Bitfields for Chips&Technologies state mask:
  7824. Bit(s)    Description    (Table 00185)
  7825.  0    video hardware
  7826.  1    BIOS data state
  7827.  2    DAC state
  7828.  15    type (0 all state info, 1 SuperVGA state only)
  7829. --------V-105F91-----------------------------
  7830. INT 10 - Chips & Technologies Extended BIOS - SAVE SUPERVGA STATE
  7831.     AX = 5F91h
  7832.     CX = state mask (see #00185)
  7833.     ES:BX -> save buffer
  7834. Return: AL = 5Fh if function supported
  7835.         buffer at ES:BX filled
  7836. SeeAlso: AH=1Ch,AX=5F03h,AX=5F90h,AX=5F92h,AX=5FA1h
  7837. --------V-105F92-----------------------------
  7838. INT 10 - Chips & Technologies Extended BIOS - RESTORE SUPERVGA STATE
  7839.     AX = 5F92h
  7840.     CX = state mask (see #00185)
  7841.     ES:BX -> previously-filled save buffer
  7842. Return: AL = 5Fh if function supported
  7843. SeeAlso: AH=1Ch,AX=5F03h,AX=5F90h,AX=5F92h,AX=5FA2h
  7844. --------V-105FA0-----------------------------
  7845. INT 10 - Chips & Technologies Wingine DGX - GET EXTENDED BIOS SAVE BUFFER SIZE
  7846.     AX = 5FA0h
  7847.     CX = state(s) to be saved (see #00186)
  7848. Return: AL = 5Fh if function supported
  7849.         AH = status
  7850.         00h unsuccessful
  7851.         01h successful
  7852.             BX = number of 64-byte blocks required for state
  7853. SeeAlso: AH=1Ch,AX=5FA1h,AX=5FA2h,AX=5F90h,AX=4F04h
  7854.  
  7855. Bitfields for C&T BIOS save/restore state type:
  7856. Bit(s)    Description    (Table 00186)
  7857.  0    video hardware
  7858.  1    BIOS data
  7859.  2    DAC and color registers
  7860.  14    (65530 BIOS with AL=A1h only) clear emulation state
  7861.  15    extended registers
  7862. SeeAlso: #00048,#00085
  7863. --------V-105FA1-----------------------------
  7864. INT 10 - Chips & Technologies Wingine DGX - SAVE VIDEO STATE
  7865.     AX = 5FA1h
  7866.     CX = state(s) to be saved (see #00186)
  7867.     ES:BX -> buffer for state information
  7868. Return: AL = 5Fh if function supported
  7869.         AH = status
  7870.         00h unsuccessful
  7871.         01h successful
  7872.             ES:BX buffer filled
  7873. SeeAlso: AH=1Ch,AX=5FA0h,AX=5FA2h,AX=5F91h
  7874. --------V-105FA2-----------------------------
  7875. INT 10 - Chips & Technologies Wingine DGX - RESTORE VIDEO STATE
  7876.     AX = 5FA2h
  7877.     CX = state(s) to be restored (see #00186)
  7878.     ES:BX -> buffer containing previously-saved state information
  7879. Return: AL = 5Fh if function supported
  7880.         AH = status
  7881.         00h unsuccessful
  7882.         01h successful
  7883. SeeAlso: AH=1Ch,AX=5FA0h,AX=5FA1h,AX=5F92h
  7884. --------V-1060------------------------------------
  7885. INT 10 - HUNTER 16 - SET GRAPHICS FONT
  7886.     AH = 60h
  7887.     AL = new font
  7888.         bit 7    output characters in reverse video
  7889.         bits 0-6 font number (see #00200 at AH=77h)
  7890. Return: BH = cell width
  7891.     BL = cell height
  7892. Desc:    select the font to use for output in mode 6; this can be used to mix
  7893.       fonts on the screen
  7894. Note:    the Husky Hunter 16 is an 8088-based ruggedized laptop.     Other family
  7895.       members are the Husky Hunter, Husky Hunter 16/80, and Husky Hawk.
  7896. SeeAlso: AH=04h"HUNTER",AH=73h"HUNTER",AH=77h"HUNTER"
  7897. --------V-1061------------------------------------
  7898. INT 10 - HUNTER 16 - MOVE CURSOR TO GRAPHICS CO-ORDINATES
  7899.     AH = 61h
  7900.     CX = column
  7901.     DX = row
  7902. Return: nothing
  7903. Note:    this function is only valid in graphics modes
  7904. SeeAlso: AH=62h
  7905. --------V-1062------------------------------------
  7906. INT 10 - HUNTER 16 - GET CURSOR POSITION IN GRAPHICS CO-ORDINATES
  7907.     AH = 62h
  7908. Return: CX = column
  7909.     DX = row
  7910. Note:    this function is only valid in graphics modes
  7911. SeeAlso: AH=61h
  7912. --------V-1063------------------------------------
  7913. INT 10 - HUNTER 16 - SET CONTRAST
  7914.     AH = 63h
  7915.     AL = contrast (0..127)
  7916. Return: nothing
  7917. Desc:    set the LCD screen contrast to improve visibility
  7918. SeeAlso: AH=64h,AH=75h
  7919. --------V-1064------------------------------------
  7920. INT 10 - HUNTER 16 - SET BACKLIGHT LEVEL
  7921.     AH = 64h
  7922.     AL = level (0..15)
  7923. Return: nothing
  7924. Desc:    set the LCD backlight level to improve visibility in bad lighting
  7925. SeeAlso: AH=63h,AH=65h,AH=74h,AH=78h"HUNTER",INT 15/AH=74h
  7926. --------V-106500----------------------------------
  7927. INT 10 - HUNTER 16 - GET BACKLIGHT TIMEOUT
  7928.     AX = 6500h
  7929. Return: BX = timeout in seconds (0-300)
  7930. Desc:    returns the time after which the backlight will turn off
  7931. SeeAlso: AH=63h,AH=64h,AX=6501h,INT 15/AH=74h
  7932. --------V-106501----------------------------------
  7933. INT 10 - HUNTER 16 - SET BACKLIGHT TIMEOUT
  7934.     AX = 6501h
  7935.     BX = timeout in seconds (0-300)
  7936. Return: nothing
  7937. Desc:    set the idle time after which the backlight will turn off
  7938. SeeAlso: AH=64h,AX=6500h
  7939. --------V-1066------------------------------------
  7940. INT 10 - HUNTER 16 - SPLIT DISPLAY
  7941.     AH = 66h
  7942.     AL = control bits (see #00187)
  7943.     BH = top row of lower section of LCD (0..7)
  7944.     BL = top row of lower section of the virtual screen (0..24)
  7945. Return: nothing
  7946. Desc:    split the LCD screen horizontally into two parts; each part may be
  7947.       individually scrollable or fixed.
  7948. Note:    the Hunter 16 has a 240x64 LCD display which serves as a window into
  7949.       a 640x200 virtual screen
  7950.  
  7951. Bitfields for HUNTER 16 control bits:
  7952. Bit(s)    Description    (Table 00187)
  7953.  0-1    01: no split, 10: allow split
  7954.  2    allow scrolling the upper part
  7955.  3    allow scrolling the lower part
  7956. --------V-106A00BX0000-----------------------
  7957. INT 10 - Direct Graphics Interface Standard (DGIS) - INQUIRE AVAILABLE DEVICES
  7958.     AX = 6A00h
  7959.     BX = 0000h
  7960.     CX = 0000h
  7961.     DX = buffer length (may be 0)
  7962.     ES:DI -> buffer
  7963. Return: BX = number of bytes stored in buffer
  7964.     CX = bytes required for all descriptions (0 if no DGIS)
  7965. Note:    buffer contains descriptions and addresses of DGIS-compatible
  7966.       display(s) and printer(s)
  7967. SeeAlso: AX=6A02h
  7968. --------V-106A01CX0000-----------------------
  7969. INT 10 - Direct Graphics Interface Standard (DGIS) - REDIRECT CHARACTER OUTPUT
  7970.     AX = 6A01h
  7971.     CX = 0000h
  7972.     ES:DI = address of device to send INT 10 output to
  7973. Return: CX = 0000h  output could not be redirected
  7974.          else INT 10h output now routed to requested display
  7975. SeeAlso: AX=6A02h
  7976. --------V-106A02-----------------------------
  7977. INT 10 - DGIS - INQUIRE INT 10 OUTPUT DEVICE
  7978.     AX = 6A02h
  7979.     ES:DI = 0000h:0000h
  7980. Return: ES:DI = 0000h:0000h  if current display is non-DGIS
  7981.         else address of the current DGIS INT 10 display
  7982. SeeAlso: AX=6A00h,AX=6A01h
  7983. --------V-106D74-----------------------------
  7984. INT 10 - MTRFONTS - INSTALLATION CHECK
  7985.     AX = 6D74h ('mt')
  7986.     DS:0104h = signature "MtRfOnTs"
  7987. Return: AX = 4D54h ('MT') if installed
  7988.         ES = PSP segment of resident code
  7989. Program: MTRFONTS is a shareware TSR (part of the MTR package) by Mechon Mamre
  7990.       which provides Hebrew screen fonts
  7991. SeeAlso: INT 16/AX=6D74h"MTRTSR"
  7992. --------V-106E00-----------------------------
  7993. INT 10 - Paradise VGA internal - GET ???
  7994.     AX = 6E00h
  7995. Return: BX = 5744h ('WD') if supported
  7996.         DH:AH:AL = last three ASCII digits of ROM serial number
  7997.         CL = ???
  7998.         CH = ???
  7999. SeeAlso: AX=6E04h,AX=6E05h
  8000. --------V-106E04-----------------------------
  8001. INT 10 - Paradise VGA internal - GET SCREEN SIZE AND ???
  8002.     AX = 6E04h
  8003. Return: BX = screen width (columns)
  8004.     CX = screen height (lines)
  8005.     AH = ??? (05h or FFh)
  8006.     AL = ??? (04h or video mode)
  8007. SeeAlso: AX=6E00h,AX=6E05h
  8008. --------V-106E05-----------------------------
  8009. INT 10 - Paradise VGA internal - SET MODE
  8010.     AX = 6E05h
  8011.     BL = mode
  8012. Return: nothing
  8013. Note:    like AH=00h, AL=BL.
  8014. SeeAlso: AH=00h,AX=6E00h,AX=6E04h,AX=6F05h
  8015. --------V-106F00-----------------------------
  8016. INT 10 - HP Vectra EX-BIOS - INSTALLATION CHECK
  8017.     AX = 6F00h
  8018.     BX <> 4850h (usually set to 0000h for simplicity)
  8019. Return: BX = 4850h ('HP') indicates HP Extended BIOS video functions present
  8020.     AX destroyed
  8021. SeeAlso: AX=6F00h"Video7",AX=6F01h,AX=6F02h,AX=6F03h,AX=6F04h,AX=6F05h
  8022. SeeAlso: INT 14/AX=6F00h,INT 16/AX=6F00h,INT 17/AX=6F00h,INT 33/AX=6F00h
  8023. --------V-106F00BX0000-----------------------
  8024. INT 10 - VIDEO - Video7 VGA,VEGA VGA - INSTALLATION CHECK
  8025.     AX = 6F00h
  8026.     BX = 0000h
  8027. Return: BX = 5637h ('V7') indicates Video7 VGA/VEGA VGA extensions are present
  8028. SeeAlso: AX=6F01h,AX=6F02h,AX=6F03h,AX=6F04h,AX=6F05h
  8029. --------V-106F01-----------------------------
  8030. INT 10 - VIDEO - Video7 VGA,VEGA VGA,HP EX-BIOS - GET MONITOR INFO
  8031.     AX = 6F01h
  8032. Return: AL = monitor type code (HP,VEGA VGA only) (see #00188)
  8033.     AH = status register information (see #00189)
  8034.     CL = current value of Extended Control register (HP Ext BIOS, and only
  8035.         if AL=41h) (see #00190)
  8036. Notes:    bits 0-3 are the same as the EGA/VGA status register bits 0-3
  8037.     supported by original HP Vectra AT and by ES/QS/RS series Vectras
  8038.  
  8039. (Table 00188)
  8040. Values for monitor type code (HP Extended BIOS):
  8041.  00h    non-HP card with ROM and possibly its own INT 10h driver
  8042.  41h    MultiMode video display adapter
  8043.  42h-44h reserved
  8044.  45h    industry standard monochrome display adapter
  8045.  46h    industry standard color display adapter
  8046.  51h    reserved
  8047.  
  8048. Bitfields for status register information:
  8049. Bit(s)    Description    (Table 00189)
  8050.  0    display enable
  8051.     0 = display enabled
  8052.     1 = vertical or horizontal retrace in progress
  8053.  1    light pen flip flop set
  8054.  2    light pen switch activated
  8055.  3    vertical sync
  8056.  4    monitor resolution
  8057.     0 = high resolution (>200 lines)
  8058.     1 = low resolution (<=200 lines)
  8059.  5    display type (0 = color, 1 = monochrome)
  8060.  6,7    diagnostic bits
  8061. Note:    bits 0-3 are the same as the EGA/VGA status register bits 0-3
  8062. --------V-106F02-----------------------------
  8063. INT 10 - HP Vectra EX-BIOS - SET MONITOR INFO
  8064.     AX = 6F02h
  8065.     BL = new value for extended control register (see #00190)
  8066. Return: AX,BL destroyed
  8067. Notes:    this function is only valid when an HP MultiMode Video Display Adapter
  8068.       is installed
  8069.     the Extended Control register is at I/O address 3DDh
  8070. SeeAlso: AX=6F01h,AX=6F03h
  8071.  
  8072. Bitfields for HP Vectra extended control register:
  8073. Bit(s)    Description    (Table 00190)
  8074.  0    screen resolution (0 = 200 lines, 1 = 400 lines)
  8075.  1    underline enable (if set, 'blue' of fg color = underline)
  8076.  2    font (0 = Standard-8, 1 = HP-Roman-8)
  8077.  3    memory disabled for CPU access
  8078.  4    allow access to full 32K memory instead of wrapping at 16K
  8079.  5    select second 16K page instead of first
  8080.  6,7    unused
  8081. --------V-106F03-----------------------------
  8082. INT 10 - HP Vectra EX-BIOS - MODIFY MONITOR INFO
  8083.     AX = 6F03h
  8084.     BH = exclude mask (set bits are not modified)
  8085.     BL = new values for bits indicated by BH (see #00190)
  8086. Return: AX destroyed
  8087. Notes:    this function is only valid when an HP MultiMode Video Display Adapter
  8088.       is installed
  8089.     supported by original HP Vectra AT and by ES/QS/RS series Vectras
  8090. SeeAlso: AX=6F01h,AX=6F02h
  8091. --------V-106F04-----------------------------
  8092. INT 10 - VIDEO - Video7 VGA,VEGA VGA,HP Vectra - GET MODE AND SCREEN RESOLUTION
  8093.     AX = 6F04h
  8094. Return: AL = current video mode (see #00191)
  8095.     BX = horizontal columns (text) or pixels (graphics)
  8096.     CX = vertical columns (text) or pixels (graphics)
  8097. SeeAlso: AX=6F05h
  8098. --------V-106F05-----------------------------
  8099. INT 10 - VIDEO - Video7 VGA,VEGA EXTENDED EGA/VGA,HP Vectra - SET VIDEO MODE
  8100.     AX = 6F05h
  8101.     BL = mode (see #00191)
  8102. Return: AX,BL destroyed
  8103. Notes:    also supported by the HP Vectra Extended BIOS on the original
  8104.       HP Vectra AT and by ES/QS/RS series Vectras
  8105.     on the HP Vectra, this function rather than AH=00h must be used to
  8106.       return to an IBM-standard mode after setting an HP-specified mode
  8107.       from 08h to 0Fh.
  8108. SeeAlso: AH=00h,AX=0070h,AX=007Eh,AX=6F04h
  8109.  
  8110. (Table 00191)
  8111. Values for Video7/VEGA video mode:
  8112.      text/ text pixel    pixel    colors disply scrn  system
  8113.      grph resol     box  resolution       pages  addr
  8114.  00h-13h = standard IBM modes (see #00010 at AH=00h)
  8115.  08h = T  80x27      .      .    mono      .    .  HP MultiMode Video
  8116.  09h = T  80x27      .      .      .      .    .  HP MultiMode Video
  8117.  0Ah = T  40x27      .      .    mono      .    .  HP MultiMode Video
  8118.  0Bh = T  40x27      .      .      .      .    .  HP MultiMode Video
  8119.  0Ch = reserved                       HP MultiMode Video
  8120.  0Dh = G    .      .    640x400      .      .    .  HP MultiMode Video
  8121.  0Eh = G    .      .    320x400      .      .    .  HP MultiMode Video
  8122.  0Fh = G    .      .    320x400      .      .    .  HP MultiMode Video
  8123.  40h = T  80x43     8x8      .      .      .    .  Video7/VEGA VGA
  8124.  41h = T 132x25     8x14      .      .      .    .  Video7/VEGA VGA
  8125.  42h = T 132x43     8x8      .      .      .    .  Video7/VEGA VGA
  8126.  43h = T  80x60     8x8      .      .      .    .  Video7/VEGA VGA
  8127.  44h = T 100x60     8x8      .      .      .    .  Video7/VEGA VGA
  8128.  45h = T 132x28     8x8      .      .      .    .  Video7/VEGA VGA
  8129.  60h = G    .      .    752x410     16      .    .  Video7 VGA, VEGA VGA
  8130.  61h = G    .      .    720x540     16      .    .  Video7 VGA, VEGA VGA
  8131.      = G    .      .    720x540     16      .    .  Northgate, Headland 1024i
  8132.  62h = G    .      .    800x600     16      .    .  Video7 VGA, VEGA Ext EGA
  8133.      = G    .      .    800x600     16      .    .  Headland 1024i
  8134.  63h = G    .      .   1024x768      2      .    .  Video7 VGA
  8135.  64h = G    .      .   1024x768      4      .    .  Video7 VGA
  8136.  65h = G    .      .   1024x768     16      .    .  Video7 VGA, VEGA Ext EGA
  8137.      = G    .      .   1024x768     16      .    .  Headland 1024i
  8138.  66h = G    .      .    640x400    256      .    .  Video7 VGA, VEGA Ext VGA
  8139.      = G    .      .    640x400    256      .    .  Northgate, Headland 1024i
  8140.  67h = G    .      .    640x480    256      .    .  Video7 VGA, VEGA Ext VGA
  8141.      = G    .      .    640x480    256      .    .  Headland 1024i
  8142.  68h = G    .      .    720x540    256      .    .  Video7 VGA, VEGA Ext VGA
  8143.      = G    .      .    720x540    256      .    .  Headland 1024i
  8144.  69h = G    .      .    800x600    256      .    .  Video7 VGA, VEGA Ext VGA
  8145.      = G    .      .    800x600    256      .    .  Headland 1024i
  8146.  70h = G    .      .    752x410     16gray      .    .  Video7 VGA, VEGA VGA
  8147.  71h = G    .      .    720x540     16gray      .    .  Video7 VGA, VEGA VGA
  8148.  72h = G    .      .    800x600     16gray      .    .  Video7 VGA
  8149.  73h = G    .      .   1024x768      2gray      .    .  Video7 VGA
  8150.  74h = G    .      .   1024x768      4gray      .    .  Video7 VGA
  8151.  75h = G    .      .   1024x768     16gray      .    .  Video7 VGA
  8152.  76h = G    .      .    640x400    256gray      .    .  Video7 VGA
  8153.  77h = G    .      .    640x480    256gray      .    .  Video7 VGA
  8154.  78h = G    .      .    720x540    256gray      .    .  Video7 VGA
  8155.  79h = G    .      .    800x600    256gray      .    .  (future)
  8156. SeeAlso: AH=00h,#00010,AX=0070h,#00011,AX=007Eh,AX=6F04h,#00083
  8157. Index:    video modes;Video 7|video modes;VEGA|video modes;Headland
  8158. --------V-106F06-----------------------------
  8159. INT 10 - VIDEO - Video7 VGA,VEGA VGA - SELECT AUTOSWITCH MODE
  8160.     AX = 6F06h
  8161.     BL = Autoswitch mode select
  8162.          00h select EGA/VGA-only modes
  8163.          01h select Autoswitched VGA/EGA/CGA/MGA modes
  8164.          02h select 'bootup' CGA/MGA modes
  8165.     BH = enable/disable (00h enable, 01h = disable selection)
  8166. Return: nothing
  8167. --------V-106F07-----------------------------
  8168. INT 10 - VIDEO -  Video7 VGA,VEGA VGA - GET VIDEO MEMORY CONFIGURATION
  8169.     AX = 6F07h
  8170. Return: AL = 6Fh
  8171.     AH = memory configuration
  8172.         bits 0-6 = number of 256K blocks of video memory
  8173.         bit 7    = DRAM/VRAM (0: DRAM, 1: VRAM)
  8174.     BH = chip revision (SR8F) (S/C Chip in VEGA VGA)
  8175.     BL = chip revision (SR8E) (G/A Chip in VEGA VGA)
  8176.     CX = 0000h
  8177. SeeAlso: AH=12h/BL=10h
  8178. --------V-1070-------------------------------
  8179. INT 10 - VIDEO - TANDY 2000 only - GET ADDRESS OF VIDEO RAM
  8180.     AH = 70h
  8181. Return: AX:BX -> WORD containing green plane's offset
  8182.     AX:CX -> WORD containing green plane's segment
  8183.     AX:DX -> WORD containing segment of red (offset 0) and blue (offset
  8184.             4000) planes
  8185. SeeAlso: AH=71h
  8186. --------V-1070------------------------------------
  8187. INT 10 - HUNTER 16 - DRAW ELLIPSE/CIRCLE
  8188.     AH = 70h
  8189.     DS:BX -> control block (see #00192)
  8190. Return: nothing
  8191. Desc:    Draws a circle or ellipse. Only valid in graphics modes.
  8192. Note:    the Husky Hunter 16 is an 8088-based ruggedized laptop.     Other family
  8193.       members are the Husky Hunter, Husky Hunter 16/80, and Husky Hawk.
  8194. SeeAlso: AH=71h"HUNTER"
  8195.  
  8196. Format of HUNTER 16 control block:
  8197. Offset    Size    Description    (Table 00192)
  8198.  00h    WORD    center X co-ordinate
  8199.  02h    BYTE    center Y co-ordinate
  8200.  03h    WORD    radius in pixels
  8201.  05h    BYTE    color (00h white, 01h black, FFh invert)
  8202.  06h    BYTE    aspect ratio x:x (1-127)
  8203.  07h    BYTE    aspect ratio y:y (1-127)
  8204. --------V-107000BX0000-----------------------
  8205. INT 10 - Everex Extended Video BIOS - RETURN EMULATION STATUS
  8206.     AX = 7000h
  8207.     BX = 0000h
  8208. Return: AL = 70h if Trident-based Everex card
  8209.     CL = monitor type (see #00193)
  8210.     CH = feature bits (see #00194)
  8211.     DX = video board info
  8212.         bits 4-15: board ID model (see #00195)
  8213.         bits 0-3:  board ID revision
  8214.     DI = BCD BIOS version number
  8215. SeeAlso: AX=5F01h,AH=FFh"Oak"
  8216.  
  8217. (Table 00193)
  8218. Values for Everex monitor type:
  8219.  00h    mono
  8220.  01h    CGA
  8221.  02h    EGA
  8222.  03h    digital multifrequency
  8223.  04h    IBM PS/2
  8224.  05h    IBM 8514
  8225.  06h    SuperVGA
  8226.  07h    analog multifrequency
  8227.  08h    super multifrequency
  8228.  
  8229. Bitfields for Everex feature bits:
  8230. Bit(s)    Description    (Table 00194)
  8231.  7-6    memory size
  8232.     00 = 256K
  8233.     01 = 512K
  8234.     10 = 1024K
  8235.     11 = 2048K
  8236.  5    special oscillator present
  8237.  4    VGA protect enabled
  8238.  0    6845 emulation
  8239.  
  8240. (Table 00195)
  8241. Values for board model for Trident-based Everex cards:
  8242.  0236h    Ultragraphics II
  8243.  0620h    Vision VGA
  8244.  0673h    EVGA
  8245.  0678h    Viewpoint
  8246. --------V-107000BX0004-----------------------
  8247. INT 10 - Everex Extended Video BIOS - GET PAGING FUNCTION POINTER FOR CURR MODE
  8248.     AX = 7000h
  8249.     BX = 0004h
  8250. Return: ES:DI -> FAR paging function (call with DL = page to set)
  8251. Note:    the word preceding ES:DI is the length of the function in bytes, and
  8252.       the last byte of the function is a FAR return instruction.
  8253. SeeAlso: AX=4F05h,AX=7000h/BX=0000h,AX=7000h/BX=0005h
  8254. --------V-107000BX0005-----------------------
  8255. INT 10 - Everex Extended Video BIOS - GET SUPPORTED MODE INFO
  8256.     AX = 7000h
  8257.     BX = 0005h
  8258.     CL = maximum number of modes to get info for
  8259.     CH = mode type to get info for (see #00196)
  8260.     DL = monitor type to get info for
  8261.     ES:DI -> buffer for mode info (see #00197)
  8262. Return: CL = total number of modes fitting criteria
  8263.     CH = size of each info record
  8264. SeeAlso: AX=7000h/BX=0000h,AX=7000h/BX=0004h
  8265.  
  8266. (Table 00196)
  8267. Values for Everex mode type:
  8268.  00h    all modes
  8269.  01h    monochrome text modes
  8270.  02h    color text modes
  8271.  03h    four-color CGA graphics modes
  8272.  04h    two-color CGA graphics modes
  8273.  05h    16-color graphics modes
  8274.  06h    256-color graphics modes
  8275.  
  8276. Format of Everex mode information record:
  8277. Offset    Size    Description    (Table 00197)
  8278.  00h    BYTE    mode number (bit 7 set if extended mode)
  8279.  01h    BYTE    mode type (see #00196)
  8280.  02h    BYTE    info bits (see #00198)
  8281.  03h    BYTE    font height
  8282.  04h    BYTE    text columns on screen
  8283.  05h    BYTE    text rows on screen
  8284.  06h    WORD    number of scan lines
  8285.  08h    BYTE    color information
  8286.         bits 7-4 reserved
  8287.              3-0 bits per pixel
  8288.  
  8289. Bitfields for Everex info bits:
  8290. Bit(s)    Description    (Table 00198)
  8291.  7,6    reserved
  8292.  5    monochrome mode
  8293.  4    interlaced display
  8294.  3    requires special oscillator
  8295.  2,1    memory required (00 = 256K, 01 = 512K, 10 = 1024K, 11 = 2048K)
  8296.  0    reserved
  8297. --------V-1071-------------------------------
  8298. INT 10 - VIDEO - TANDY 2000 only - GET ADDRESS OF INCRAM
  8299.     AH = 71h
  8300. Return: AX:BX -> WORD containing segment address of INCRAM
  8301.     AX:CX -> WORD containing offset of INCRAM
  8302. SeeAlso: AH=70h"TANDY"
  8303. --------V-1071------------------------------------
  8304. INT 10 - HUNTER 16 - DRAW LINE/BOX
  8305.     AH = 71h
  8306.     DS:BX -> control block (see #00199)
  8307. Return: nothing
  8308. Desc:    Draws a line or box. Only valid in graphics modes.
  8309. SeeAlso: AH=70h"HUNTER"
  8310.  
  8311. Format of HUNTER 16 control block:
  8312. Offset    Size    Description    (Table 00199)
  8313.  00h    WORD    left edge X co-ordinate
  8314.  02h    BYTE    lower edge Y co-ordinate
  8315.  03h    WORD    right edge X co-ordinate
  8316.  05h    BYTE    upper edge Y co-ordinate
  8317.  06h    BYTE    color (00h white, 01h black, FFh invert)
  8318.  07h    BYTE    type (00h line, 01h box)
  8319.  08h    BYTE    if non-zero (and type is BOX) fill with color
  8320. --------V-1072-------------------------------
  8321. INT 10 - VIDEO - TANDY 2000 only - SCROLL RIGHT PART OR ALL OF SCREEN
  8322.     AH = 72h
  8323.     AL = number of columns to shift scroll area, 00h to clear entire area
  8324.     BH = new attributes for blanked columns at left
  8325.     CH,CL = row, column of upper left corner of scroll area
  8326.     DH,DL = row, column of lower right corner of scroll area
  8327. Return: nothing
  8328. SeeAlso: AH=06h,AH=07h,AH=73h"TANDY",INT 15/AH=12h/BH=05h
  8329. --------V-1072------------------------------------
  8330. INT 10 - HUNTER 16 - SELECT TEXT-MODE INVERSE VIDEO MECHANISM
  8331.     AH = 72h
  8332.     AL = mechanism to use
  8333.         00h do not use inverse video
  8334.         01h emulate MDA. Display attribute 07h is normal video and 70h is
  8335.         inverse video.
  8336.         02h use inverse video if background is non-black.
  8337.         03h use inverse video for high intensity text.
  8338.         04h use inverse video for text with background intensity greater
  8339.         than foreground intensity.
  8340.         05h use inverse video for text with background color other than
  8341.         black or high intensity foreground.
  8342. Return: nothing
  8343. SeeAlso: AH=70h"HUNTER",AH=71h"HUNTER"
  8344. --------V-1073-------------------------------
  8345. INT 10 - VIDEO - TANDY 2000 only - SCROLL LEFT PART OR ALL OF SCREEN
  8346.     AH = 73h
  8347.     AL = number of columns to shift scroll area, 00h to clear entire area
  8348.     BH = new attributes for blanked columns at right
  8349.     CH,CL = row, column of upper left corner of scroll area
  8350.     DH,DL = row, column of lower right corner of scroll area
  8351. Return: nothing
  8352. SeeAlso: AH=06h,AH=07h,AH=72h"TANDY",INT 15/AH=12h/BH=05h
  8353. --------V-1073------------------------------------
  8354. INT 10 - HUNTER 16 - SELECT TEXT FONT
  8355.     AH = 73h
  8356.     AL = new font
  8357.           00h  7x7 in a 8x8 cell
  8358.           01h  5x7 in a 6x8 cell
  8359.           06h  3x5 in a 4x6 cell
  8360. Return: BH = cell width
  8361.     BL = cell height
  8362. SeeAlso: AH=60h"HUNTER",AH=77h"HUNTER"
  8363. --------V-1074------------------------------------
  8364. INT 10 - HUNTER 16 - SET LCD WINDOWS POSITION
  8365.     AH = 74h
  8366.     DH = row (0..24)
  8367.     DL = column (0..79)
  8368. Return: nothing
  8369. Desc:    set the position in the virtual screen being displayed in the LCD
  8370.       screen. If Split Screen (INT 10/AH=66h) is used, this call sets the
  8371.       position for the window which has the cursor.
  8372. SeeAlso: AH=66h"HUNTER",AH=75h,AH=76h
  8373. --------V-1075------------------------------------
  8374. INT 10 - HUNTER 16 - SET ZOOM
  8375.     AH = 75h
  8376.     AL = new Zoom state (00h off, nonzero on)
  8377. Return: nothing
  8378. SeeAlso: AH=74h,AH=76h
  8379. --------V-1076------------------------------------
  8380. INT 10 - HUNTER 16 - LOOKING KEYS
  8381.     AH = 76h
  8382.     AL = action
  8383.          00h home the window
  8384.          01h move up one line
  8385.          02h move down one line
  8386.          03h move left one character
  8387.          04h move right one character
  8388.          05h flip window to other side of virtual screen
  8389. Return: nothing
  8390. Desc:    moves the displayed screen around the virtual screen
  8391. SeeAlso: AH=74h,AH=75h
  8392. --------V-1077------------------------------------
  8393. INT 10 - HUNTER 16 - GET GRAPHICS FONT
  8394.     AH = 77h
  8395. Return: AL = font number (see #00200)
  8396. SeeAlso: AH=60h"HUNTER",AH=73h"HUNTER"
  8397.  
  8398. (Table 00200)
  8399. Values for HUNTER 16 graphics font number:
  8400.  00h     7x7  in a  8x8     cell
  8401.  01h     5x7  in a  6x8     cell
  8402.  02h     7x9  in a  8x10 cell
  8403.  03h    14x9  in a 16x10 cell
  8404.  04h     7x18 in a  8x20 cell
  8405.  05h    14x18 in a 16x20 cell
  8406.  06h     3x5  in a  4x6     cell
  8407. Note:    size is X * Y
  8408. --------V-1078------------------------------------
  8409. INT 10 - HUNTER 16 - TURN BACKLIGHT ON/OFF
  8410.     AH = 78h
  8411.     AL = new state of backlight (00h on, 01h off)
  8412. Return: nothing
  8413. SeeAlso: AH=64h,INT 15/AH=74h
  8414. --------V-107F-------------------------------
  8415. INT 10 - Paradise SVGA - WD90C24 INSTALLATION CHECK
  8416.     AH = 7Fh
  8417. Return: AX = 1234h if WD90C24 chip installed
  8418. --------V-107F00-----------------------------
  8419. INT 10 - SOLLEX SuperVGA - GET EXTENSIONS INFO
  8420.     AX = 7F00h
  8421. Return: AL <> 7Fh if not supported
  8422.     AL = 7Fh if supported
  8423.         AH = status
  8424.         00h successful
  8425.             ES:DI -> info structure (see #00201)
  8426.         01h failed
  8427. Program: the SOLLEX (Smos videO controLLer EXtensions) SuperVGA functions are
  8428.       an extension to the VESA SuperVGA BIOS Extensions (see AX=4F00h) by
  8429.       Seiko Epson Corporation intended to provided a standardized interface
  8430.       to SuperVGA functionality not addressed by the VESA standard
  8431. SeeAlso: AX=4F00h
  8432.  
  8433. Format of SOLLEX SuperVGA info structure:
  8434. Offset    Size    Description    (Table 00201)
  8435.  00h    DWORD    pointer to VESA function dispatch table
  8436.  04h    DWORD    pointer to SOLLEX function dispatch table
  8437.  08h    DWORD    pointer to VESA SuperVGA info (see #00077 at AX=4F00h)
  8438.  0Ch    DWORD    pointer to mode info structure table, consisting of
  8439.           alternating ResInfo (see #00202) and VESA mode information
  8440.           (see #00079 at AX=4F01h) blocks, terminated with an FFFFh word
  8441.  10h    DWORD    pointer to font info structure table (see #00203)
  8442.  14h    WORD    high resolution crystal frequency in Hz (0000h = not present)
  8443.  16h    DWORD    pointer to ASCIZ ID string
  8444.  1Ah    DWORD    pointer to timeout reset table
  8445.         array of bytes, each a multiple of the minimum time increment
  8446.  1Eh    WORD    minimum time increment in timer ticks
  8447.  20h    BYTE    inverse options supported
  8448.         bit 0: inverse supported
  8449.         bits 1-7: reserved
  8450.  21h    BYTE    normal color value
  8451.  22h    BYTE    inverse color value
  8452.  23h    WORD    port to be accessed for normal/inverse settings
  8453.  25h    WORD    type of interface chip (currently undefined)
  8454.  27h    WORD    program operational mode
  8455.         bits 1-0: 00 no preference
  8456.               01 terse (minimum detail in program messages)
  8457.               10 verbose
  8458.               11 use menus if supported, verbose mode otherwise
  8459.         bits 7-2: reserved
  8460.  29h    WORD    SOLLEX specification version
  8461.  2Bh    WORD    version of VESA/SOLLEX implementation
  8462.  2Dh    DWORD    offset to relocatable portion of SOLLEX extensions (for CONFIG)
  8463.  2Eh    DWORD    offset to unused section of the extensions ROM
  8464.  31h 16 BYTEs    reserved
  8465. Note:    all DWORD pointers initially require segment fixups; if the segment
  8466.       is 0000h, it should be changed to the returned ES, otherwise it
  8467.       may be assumed to be correct
  8468.  
  8469. Format of SOLLEX SuperVGA ResInfo:
  8470. Offset    Size    Description    (Table 00202)
  8471.  00h    WORD    16-bit mode number
  8472.  02h    WORD    adapter type (00h VGA, 01h EGA, 02h CGA, 03h MDA)
  8473.  04h    WORD    display info (see #00206)
  8474.  06h    DWORD    pointer to video parameter table
  8475.  0Ah    BYTE    replacement entry in master Video Parameter
  8476.  0Bh    BYTE    mode requested for mode set by BIOS
  8477.  0Ch    DWORD    pointer to LoadReg table
  8478.  10h    BYTE    index into table of clock values (see #00204)
  8479. SeeAlso: #00201
  8480.  
  8481. Format of SOLLEX SuperVGA font info table [array] entry:
  8482. Offset    Size    Description    (Table 00203)
  8483.  00h    BYTE    required font height
  8484.  01h    BYTE    parameter to load text mode font
  8485.  02h    BYTE    parameter to load graphics mode font
  8486. SeeAlso: #00201
  8487.  
  8488. (Table 00204)
  8489. Values for SOLLEX SuperVGA clock value index:
  8490.  00h    25 MHz
  8491.  01h    28 MHz
  8492.  02h    PCLK
  8493.  03h    31.5 MHz (VESA 640x480)
  8494.  04h    reserved
  8495.  05h    16 MHz (EGA)
  8496.  06h    PCLK
  8497.  07h    24 MHz (EGA)
  8498.  08h    25 MHz
  8499.  09h    28 MHz
  8500.  0Ah    36 MHz
  8501.  0Bh    45 MHz (for 1024x768)
  8502.  0Ch    80 MHz
  8503.  0Dh    40 MHz
  8504.  0Eh    65 MHz
  8505.  0Fh     1 MHz (for powerdown)
  8506. SeeAlso: #00201
  8507. --------V-107F00BX4000-----------------------
  8508. INT 10 - Diamond Stealth 24 - GET S3 INFORMATION BLOCK
  8509.     AX = 7F00h
  8510.     BX = 4000h
  8511. Return: AX = 007Fh if supported
  8512.         DX:BX -> DAC set mode routine
  8513. SeeAlso: AX=7F00h/BX=4001h,AX=7F00h/BX=4002h,#00732 at INT 1A/AX=B102h
  8514. --------V-107F00BX4001-----------------------
  8515. INT 10 - Diamond Stealth 24 - GET LINEAR ADDRESS
  8516.     AX = 7F00h
  8517.     BX = 4001h
  8518. Return: AX = 007Fh if supported
  8519.         CX = current linear address base (high word)
  8520. SeeAlso: AX=7F00h/BX=4000h,AX=7F00h/BX=4002h
  8521. --------V-107F00BX4002-----------------------
  8522. INT 10 - Diamond Stealth 24 - SET LINEAR ADDRESS
  8523.     AX = 7F00h
  8524.     BX = 4002h
  8525.     CX = new linear address base (high word)
  8526. Return: AX = 007Fh if supported
  8527. SeeAlso: AX=7F00h/BX=4000h,AX=7F00h/BX=4001h
  8528. --------V-107F01BL00-------------------------
  8529. INT 10 - SOLLEX SuperVGA - ADAPTER CONTROL - SET ADAPTER
  8530.     AX = 7F01h
  8531.     BL = 00h
  8532.     CX = adapter request (see #00205)
  8533. Return: AL <> 7Fh if not supported
  8534.     AL = 7Fh if supported
  8535.         AH = status
  8536.         00h successful
  8537.         01h failed
  8538. Note:    initializes video hardware to a particular standard
  8539. SeeAlso: AX=7F00h"SOLLEX",AX=7F01h/BL=01h,AX=7F01h/BL=02h
  8540.  
  8541. Bitfields for SOLLEX SuperVGA adapter request:
  8542. Bit(s)    Description    (Table 00205)
  8543.  1-0    adapter type (00 VGA, 01 EGA, 10 CGA, 11 MDA)
  8544.  2    reserved
  8545.  4-3    change displays (00 none, 01 analog 10 digital 11 panel)
  8546.  6-5    desired monitor sense (01 color, 10 mono, 11=8514)
  8547.  7    lock override
  8548.  8    alternate adapter mode
  8549.  15-9    reserved
  8550. --------V-107F01BL01-------------------------
  8551. INT 10 - SOLLEX SuperVGA - ADAPTER CONTROL - GET ADAPTER
  8552.     AX = 7F01h
  8553.     BL = 01h
  8554. Return: AL <> 7Fh if not supported
  8555.     AL = 7Fh if supported
  8556.         AH = status
  8557.         00h successful
  8558.         01h failed
  8559.         BX = adapter type (see #00205)
  8560.         DX = display type (see #00206)
  8561. SeeAlso: AX=7F00h"SOLLEX",AX=7F01h/BL=00h,AX=7F01h/BL=02h
  8562.  
  8563. Bitfields for SOLLEX SuperVGA display type:
  8564. Bit(s)    Description    (Table 00206)
  8565.  15-9    reserved
  8566.  8    alternate display active
  8567.  7    Enhanced Color Display monitor active
  8568.  6    multi-frequency digital monitor active
  8569.  5    PS/2-type monitor active
  8570.  4    plasma/electroluminescent panel active
  8571.  3    LCD panel active
  8572.  2    multi-frequency analog monitor active
  8573.  1-0    monitor sense (00 none, 01 color, 10 mono, 11=8514)
  8574. --------V-107F01BL02-------------------------
  8575. INT 10 - SOLLEX SuperVGA - ADAPTER CONTROL - DETERMINE ADAPTER SUPPORT
  8576.     AX = 7F01h
  8577.     BL = 02h
  8578.     CX = adapter request (see #00205)
  8579. Return: AL <> 7Fh if not supported
  8580.     AL = 7Fh if supported
  8581.         AH = status
  8582.         00h requested setting can successfully be made
  8583.         01h requested setting not available in this configuration
  8584. SeeAlso: AX=7F00h"SOLLEX",AX=7F01h/BL=00h
  8585. --------V-107F02BL00-------------------------
  8586. INT 10 - SOLLEX SuperVGA - DISPLAY OUTPUT CONTROL - SET DISPLAY OUTPUT
  8587.     AX = 7F02h
  8588.     BL = 00h
  8589.     CX = display output setting (see #00207)
  8590. Return: AL <> 7Fh if not supported
  8591.     AL = 7Fh if supported
  8592.         AH = status
  8593.         00h successful
  8594.         01h failed
  8595. SeeAlso: AX=7F00h"SOLLEX",AX=7F02h/BL=00h
  8596.  
  8597. Bitfields for SOLLEX SuperVGA display output setting:
  8598. Bit(s)    Description    (Table 00207)
  8599.  0    CRTC control in 2,1 valid
  8600.  1    enable digital output
  8601.  2    enable analog output
  8602.  3    panel control in 5,4 valid
  8603.  4    enable LCD output
  8604.  5    enable plasma/EL output
  8605.  6    inverse control in 7 valid
  8606.  7    0=normal, 1=inverse
  8607.  15-8    reserved
  8608. --------V-107F02BL01-------------------------
  8609. INT 10 - SOLLEX SuperVGA - DISPLAY OUTPUT CONTROL - GET DISPLAY OUTPUT
  8610.     AX = 7F02h
  8611.     BL = 01h
  8612. Return: AL <> 7Fh if not supported
  8613.     AL = 7Fh if supported
  8614.         AH = status
  8615.         00h successful
  8616.             BX = display output setting (see #00207)
  8617.             CX = displays attached (see #00208)
  8618.         01h failed
  8619. SeeAlso: AX=7F00h"SOLLEX",AX=7F02h/BL=00h
  8620.  
  8621. Bitfields for SOLLEX SuperVGA displays attached:
  8622. Bit(s)    Description    (Table 00208)
  8623.  0    PS/2 display on analog output
  8624.  1    multi-frequency monitor on analog output
  8625.  2    LCD panel attached
  8626.  3    plasma/electroluminescent panel attached
  8627.  4    multi-frequency monitor on digital output
  8628.  5    Enhanced Color Display attached to digital outpt
  8629.  6    alternate display
  8630.  15-7    reserved
  8631. --------V-107F03BL00-------------------------
  8632. INT 10 - SOLLEX SuperVGA - VIDEO SUPPORT CONTROL - GET SUPPORT INFO
  8633.     AX = 7F03h
  8634.     BL = 00h
  8635.     CX = support type
  8636.         0000h VGA, 0001h EGA, 0002h CGA, 0003h MDA, 0004h extensions,
  8637.         0005h-0012h reserved for SOLLEX, 0013h Hercules,
  8638.         0014h-001Fh reserved for SOLLEX, 0020h-00FFh reserved for OEM
  8639. Return: AL <> 7Fh if not supported
  8640.     AL = 7Fh if supported
  8641.         AH = status
  8642.         00h successful
  8643.             CX = size of video support code
  8644.             DX = segment of physical video support (0000h if no ROM)
  8645.             ES = segment of active video support
  8646.             ES:DI -> information block (DI = 0000h if none available)
  8647.         01h failed
  8648. SeeAlso: AX=7F03h/BL=01h
  8649. --------V-107F03BL01-------------------------
  8650. INT 10 - SOLLEX SuperVGA - VIDEO SUPPORT CONTROL - INITIALIZE VIDEO SUPPORT
  8651.     AX = 7F03h
  8652.     BL = 01h
  8653.     CX = support request
  8654.     ES = segment of support code
  8655. Return: AL <> 7Fh if not supported
  8656.     AL = 7Fh if supported
  8657.         AH = status
  8658.         00h successful
  8659.         01h failed
  8660. Note:    initializes the indicated video support by calling ES:0003h; this
  8661.       function may be used to switch the active video support back to
  8662.       ROM after AX=7F03h/BL=02h
  8663. SeeAlso: AX=7F03h/BL=00h
  8664. --------V-107F03BL02-------------------------
  8665. INT 10 - SOLLEX SuperVGA - VIDEO SUPPORT CONTROL - GO RAM RESIDENT
  8666.     AX = 7F03h
  8667.     BL = 02h
  8668.     CX = support request
  8669.     ES = destination segment
  8670. Return: AL <> 7Fh if not supported
  8671.     AL = 7Fh if supported
  8672.         AH = status
  8673.         00h successful
  8674.         01h failed
  8675. SeeAlso: AX=7F00h"SOLLEX",AX=7F03h/BL=01h
  8676. --------V-107F04BL00-------------------------
  8677. INT 10 - SOLLEX SuperVGA - POWER CONTROL - SET POWER STATE
  8678.     AX = 7F04h
  8679.     BL = 00h
  8680.     CX = new power state
  8681. Return: AL <> 7Fh if not supported
  8682.     AL = 7Fh if supported
  8683.         AH = status
  8684.         00h successful
  8685.         01h failed
  8686. Note:    higher values progressively reduce the operations available on the
  8687.       video adapter while yielding increasing power savings
  8688. SeeAlso: AX=7F00h"SOLLEX",AX=7F04h/BL=01h
  8689. --------V-107F04BL01-------------------------
  8690. INT 10 - SOLLEX SuperVGA - POWER CONTROL - GET POWER STATE
  8691.     AX = 7F04h
  8692.     BL = 01h
  8693. Return: AL <> 7Fh if not supported
  8694.     AL = 7Fh if supported
  8695.         AH = status
  8696.         00h successful
  8697.             CX = current power state
  8698.             DX = maximum state
  8699.         01h failed
  8700. SeeAlso: AX=7F00h"SOLLEX",AX=7F04h/BL=00h
  8701. --------V-107F04BL02-------------------------
  8702. INT 10 - SOLLEX SuperVGA - POWER CONTROL - SET TIMEOUT RESET
  8703.     AX = 7F04h
  8704.     BL = 02h
  8705.     CX = timeout reset
  8706. Return: AL <> 7Fh if not supported
  8707.     AL = 7Fh if supported
  8708.         AH = status
  8709.         00h successful
  8710.         01h failed
  8711. SeeAlso: AX=7F00h"SOLLEX",AX=7F04h/BL=03h
  8712. --------V-107F04BL03-------------------------
  8713. INT 10 - SOLLEX SuperVGA - POWER CONTROL - GET TIMEOUT RESET
  8714.     AX = 7F04h
  8715.     BL = 03h
  8716. Return: AL <> 7Fh if not supported
  8717.     AL = 7Fh if supported
  8718.         AH = status
  8719.         00h successful
  8720.             BX = time increment
  8721.             CX = current timeout reset
  8722.             DX = maximum timeout reset
  8723.             ES:DI -> timeout reset table (array of bytes)
  8724.         01h failed
  8725. Note:    the timeout period is computed as (BYTE ES:[DI+CX]) * BX timer ticks
  8726. SeeAlso: AX=7F00h"SOLLEX",AX=7F04h/BL=02h
  8727. --------V-107F05-----------------------------
  8728. INT 10 - SOLLEX SuperVGA - LOAD REGISTER
  8729.     AX = 7F05h
  8730.     ES:DI -> register value table (see #00209)
  8731. Return: AL <> 7Fh if not supported
  8732.     AL = 7Fh if supported
  8733.         AH = status
  8734.         00h successful
  8735.         01h failed
  8736. SeeAlso: AH=F1h,AH=F3h,AH=F5h
  8737.  
  8738. Format of SOLLEX SuperVGA register value table:
  8739. Offset    Size    Description    (Table 00209)
  8740.  00h    WORD    base I/O register (FFFFh = end of list)
  8741.  02h 2N BYTEs    pairs of values to be written to the base I/O register as an
  8742.           index value and the following register as a data byte
  8743.  2N+2    WORD    FFFFh (end of data list)
  8744.     ... (repeats until FFFFh base address)
  8745. --------V-107F06-----------------------------
  8746. INT 10 - SOLLEX SuperVGA - MULTIPLE FONT CONTROL
  8747.     AX = 7F06h
  8748.     BL = subfunction
  8749.         00h set multiple font state
  8750.         CX = new state (00h off, 01h on)
  8751.         01h get multiple font state
  8752.         Return: BL = current state (00h off, 01h on)
  8753. Return: AL <> 7Fh if not supported
  8754.     AL = 7Fh if supported
  8755.         AH = status
  8756.         00h successful
  8757.         01h failed
  8758. SeeAlso: AX=1100h,AX=1103h
  8759. --------V-107F07-----------------------------
  8760. INT 10 - SOLLEX SuperVGA - FILL VIDEO RAM
  8761.     AX = 7F07h
  8762.     BL = how much to fill
  8763.        00h regen size
  8764.        01h all video memory
  8765.     CX = pattern to write (normally 0720h for text modes and 0000h for gr)
  8766. Return: AL <> 7Fh if not supported
  8767.     AL = 7Fh if supported
  8768.         AH = status
  8769.         00h successful
  8770.         01h failed
  8771. SeeAlso: AH=06h
  8772. --------A-1080-------------------------------
  8773. INT 10 - CU Writer v1.4 - GET OPTION
  8774.     AH = 80h
  8775.     AL = desired option
  8776. Return: ???
  8777. Program: CU Writer is a public-domain Thai-English word processor from
  8778.       Chulalongkorn University, Bangkok
  8779. SeeAlso: AH=81h"CU Writer"
  8780. --------Q-1080--DX4456-----------------------
  8781. INT 10 U - VIDEO - DESQview 2.0x only - internal - SET ??? HANDLER
  8782.     AH = 80h
  8783.     DX = 4456h ('DV')
  8784.     ES:DI -> FAR subroutine to be called on ???
  8785. Return: DS = segment of DESQview data structure for video buffer
  8786. Note:    this function is probably meant for internal use only, due to the magic
  8787.       value required in DX
  8788.     the subroutine seems to be called when the DESQview menu is accessed;
  8789.       on entry, AL = 03h or 04h
  8790. --------A-1081-------------------------------
  8791. INT 10 - CU Writer v1.4 - SET OPTION
  8792.     AH = 81h
  8793.     ???
  8794. Return: ???
  8795. SeeAlso: AH=80h"CU Writer"
  8796. --------Q-1081--DX4456-----------------------
  8797. INT 10 U - VIDEO - DESQview 2.0x only - internal - GET ???
  8798.     AH = 81h
  8799.     DX = 4456h ('DV')
  8800. Return: ES = segment of DESQview data structure for video buffer
  8801.         BYTE ES:[0] = current window number in DV 2.0x
  8802. Note:    this function is probably meant for internal use only, due to the magic
  8803.       value required in DX
  8804. SeeAlso: AH=82h"DESQview"
  8805. --------Q-1082--DX4456-----------------------
  8806. INT 10 U - VIDEO - DESQview 2.0x only - internal - GET CURRENT WINDOW INFO
  8807.     AH = 82h
  8808.     DX = 4456h ('DV')
  8809. Return: DS = segment in DESQview for data structure
  8810.          in DV 2.00,
  8811.           BYTE DS:[0] = window number
  8812.           WORD DS:[1] = segment of other data structure
  8813.           WORD DS:[3] = segment of window's object handle
  8814.     ES = segment of DESQview data structure for video buffer
  8815.     AL = current window number
  8816.     AH = ???
  8817.     BL = direct screen writes
  8818.         00h program does not do direct writes
  8819.         01h program does direct writes, so shadow buffer not usable
  8820.     BH = ???
  8821.     CL = current video mode
  8822.     CH = ???
  8823. Note:    this function is probably meant for internal use only, due to the magic
  8824.       value required in DX
  8825. SeeAlso: AH=81h"DESQview"
  8826. --------J-108200-----------------------------
  8827. INT 10 - VIDEO - AX PC - GET/SET SCROLL MODE
  8828.     AX = 8200h
  8829.     BL = new scroll mode or FFh to get current mode
  8830.         00h dynamic, 01h software
  8831. Return: AL = scroll mode (current mode if BL=FFh, previous mode otherwise)
  8832. SeeAlso: AH=06h,AH=07h
  8833. --------J-108300-----------------------------
  8834. INT 10 - VIDEO - AX PC - GET VIDEO RAM ADDRESS
  8835.     AX = 8300h
  8836. Return: AX = offset of video RAM
  8837.     ES:BX -> virtual text RAM buffer
  8838. SeeAlso: AX=5201h
  8839. ----------1086-------------------------------
  8840. INT 10 - ???
  8841.     AH = 86h
  8842. Note:    called by Diamond Stealth64 Video STLTH64.VXD
  8843. SeeAlso: INT 2F/AX=4021h
  8844. --------N-108B-------------------------------
  8845. INT 10 - Alloy MW386 - FORCE WORKSTATION SCREEN UPDATE
  8846.     AH = 8Bh
  8847. Return: nothing
  8848. SeeAlso: AH=92h,AH=93h
  8849. --------N-1090-------------------------------
  8850. INT 10 - Alloy MW386 - GET PHYSICAL WORKSTATION DISPLAY MODE
  8851.     AH = 90h
  8852. Return: AL = current video mode (see #00010 at AH=00h)
  8853. SeeAlso: AH=91h
  8854. --------N-1091-------------------------------
  8855. INT 10 - Alloy MW386 - GET PHYSICAL WORKSTATION ADAPTER TYPE
  8856.     AH = 91h
  8857. Return: AL = video adapter type (see #00210)
  8858. Note:    types less than 80h do not imply that the current user is on the host
  8859. SeeAlso: AH=90h
  8860.  
  8861. (Table 00210)
  8862. Values for Alloy MW386 video adapter type:
  8863.  00h    monochrome
  8864.  01h    Hercules monochrome graphics
  8865.  02h    CGA
  8866.  03h    EGA
  8867.  04h    VGA
  8868.  80h    monochrome text terminal
  8869.  81h    Hercules graphics terminal
  8870.  82h    color graphics terminal
  8871. --------N-1092-------------------------------
  8872. INT 10 - Alloy MW386 - INHIBIT WORKSTATION SCREEN UPDATES
  8873.     AH = 92h
  8874. Return: nothing
  8875. Note:    the terminal will be updated even when screen updates are inhibited if
  8876.       TTY output is used
  8877. SeeAlso: AH=8Bh
  8878. --------N-1093-------------------------------
  8879. INT 10 - Alloy MW386 - REDRAW SCREEN
  8880.     AH = 93h
  8881. Return: nothing
  8882. SeeAlso: AH=8Bh,AH=FFh
  8883. --------V-109508-----------------------------
  8884. INT 10 - VHRBIOS.SYS - ???
  8885.     AX = 9508h
  8886. Return: ???
  8887. Program: VHRBIOS.SYS is a driver for the Micro Display Systems "TheGenius"
  8888.       black&white A4/portrait monitor
  8889. SeeAlso: AH=96h"VHRBIOS.SYS",AH=F0h"VHRBIOS.SYS"
  8890. --------V-1096-------------------------------
  8891. INT 10 - VHRBIOS.SYS - GET OTHER DISPLAY INFO
  8892.     AH = 96h
  8893. Return: AL = display type (see AH=1Ah)
  8894.     AH = ??? (possibly related to Micro Channel support)
  8895. Program: VHRBIOS.SYS is a driver for the Micro Display Systems "TheGenius"
  8896.       black&white A4/portrait monitor
  8897. Desc:    returns info on any non-Genius video adapter in the system
  8898. SeeAlso: AX=9508h"VHRBIOS.SYS",AH=F0h"VHRBIOS.SYS"
  8899. --------A-10A0-------------------------------
  8900. INT 10 - CU Writer v1.4 - SET PIXEL WRITE MODE
  8901.     AH = A0h
  8902.     ???
  8903. Return: ???
  8904. Program: CU Writer is a public-domain Thai-English word processor from
  8905.       Chulalongkorn University, Bangkok
  8906. SeeAlso: AH=80h"CU Writer",AH=B0h
  8907. --------p-10A000-----------------------------
  8908. INT 10 - ATI Mach64 BIOS - ???
  8909.     AX = A000h
  8910.     CL = ??? (bits 2-0 may not be 000)
  8911.     CH = ??? (81h or ???)
  8912.     DX = segment of ??? (if CH=81h)
  8913.     ???
  8914. Return: AX = ???
  8915. SeeAlso: AX=4F10h/BL=00h,AX=A001h
  8916. ----------10A001-----------------------------
  8917. INT 10 - ATI Mach64 BIOS - ???
  8918.     AX = A001h
  8919.     CL = ??? flags
  8920.     ???
  8921. Return: AH = status
  8922.         00h successful
  8923.         01h failed
  8924.     ???
  8925. SeeAlso: AX=A000h,AX=A002h
  8926. ----------10A002-----------------------------
  8927. INT 10 - ATI Mach64 BIOS - ???
  8928.     AX = A002h
  8929.     CL = ??? (bits 2-0 may not be 000)
  8930.     CH = ??? (81h or ???)
  8931.     DX = segment of ??? (if CH=81h)
  8932.     ???
  8933. Return: AH = status
  8934.         00h successful
  8935.         01h failed
  8936.     ???
  8937. Note:    executes AX=A000h, then AX=A001h if A000h was successful
  8938. SeeAlso: AX=A000h,AX=A001h
  8939. ----------10A003-----------------------------
  8940. INT 10 - ATI Mach64 BIOS - ???
  8941.     AX = A003h
  8942.     BX = ???
  8943.     ???
  8944. Return: AH = status (00h successful)
  8945.     ???
  8946. SeeAlso: AX=A000h,AX=A002h
  8947. --------V-10A004-----------------------------
  8948. INT 10 - PhoenixVIEW/LC - VIDEO DISPLAY TYPE
  8949.     AX = A004h
  8950.     ???
  8951. Return: ???
  8952. Desc:    configure display parameters
  8953. SeeAlso: AX=A01Bh"PhoenixVIEW/LC"
  8954. ----------10A004-----------------------------
  8955. INT 10 - ATI Mach64 BIOS - ???
  8956.     AX = A004h
  8957.     BX = video mode??? (0000-00FFh)
  8958.     DX = ??? (sent to some port [66ECh???] one bit at a time, high to low)
  8959.     ???
  8960. Return: AH = status
  8961.         00h successful
  8962.         01h failed
  8963.     ???
  8964. SeeAlso: AX=A000h,AX=A002h
  8965. ----------10A005-----------------------------
  8966. INT 10 - ATI Mach64 BIOS - ???
  8967.     AX = A005h
  8968.     CL = ??? flags (bits 0,2, others?)
  8969.     ???
  8970. Return: AH = status
  8971.         00h successful
  8972.         01h failed
  8973.     ???
  8974. SeeAlso: AX=A000h,AX=A002h
  8975. ----------10A006-----------------------------
  8976. INT 10 - ATI Mach64 BIOS - ???
  8977.     AX = A006h
  8978.     ???
  8979. Return: AH = status
  8980.         00h successful
  8981.         01h failed
  8982.     ???
  8983. SeeAlso: AX=A000h,AX=A002h
  8984. ----------10A007-----------------------------
  8985. INT 10 - ATI Mach64 BIOS - GET ???
  8986.     AX = A007h
  8987. Return: AH = 00h (successful)
  8988.     AL = ??? (00h)
  8989.     BX = ??? (15A0h in examined BIOS)
  8990.     DX = segment of BIOS
  8991. SeeAlso: AX=A000h,AX=A002h
  8992. ----------10A008-----------------------------
  8993. INT 10 - ATI Mach64 BIOS - GET ??? SIZE
  8994.     AX = A008h
  8995.     CL = ??? flags
  8996.     ???
  8997. Return: AH = 00h (successful)
  8998.     BX = size of ??? (0046h if CL bit 0 clear on entry)
  8999. SeeAlso: AX=A000h,AX=A009h
  9000. ----------10A009-----------------------------
  9001. INT 10 - ATI Mach64 BIOS - GET ???
  9002.     AX = A009h
  9003.     DX:BX -> buffer for ???
  9004.     CL = ??? flags
  9005.     ???
  9006. Return: AH = status
  9007.         00h successful
  9008.         DX:BX buffer filled
  9009.         01h failed
  9010.     ???
  9011. SeeAlso: AX=A000h,AX=A008h
  9012. ----------10A00A-----------------------------
  9013. INT 10 - ATI Mach64 BIOS - GET ???
  9014.     AX = A00Ah
  9015. Return: AH = 00h (successful)
  9016.     AL = ??? (01h)
  9017.     BX = ??? (5938h)
  9018.     CX = ??? (595Eh)
  9019.     DX = segment of BIOS
  9020. SeeAlso: AX=A000h,AX=A002h
  9021. ----------10A00B-----------------------------
  9022. INT 10 - ATI Mach64 BIOS - ???
  9023.     AX = A00Bh
  9024.     BX = ???
  9025.     CL = ??? flags
  9026.     ???
  9027. Return: AH = status
  9028.         00h successful
  9029.         01h failed
  9030.     ???
  9031. SeeAlso: AX=A000h,AX=A002h
  9032. --------p-10A00C-----------------------------
  9033. INT 10 - ATI Mach64 BIOS - SET SLEEP MODE
  9034.     AX = A00Ch
  9035.     CL = new state
  9036.         00h normal operation
  9037.         01h standby
  9038.         02h suspend
  9039.         03h off
  9040. Return: AH = status
  9041.         00h successful
  9042.         01h failed
  9043. Note:    CL bit 2 affects values written to video card's ports
  9044. SeeAlso: AX=A000h,AX=A00Dh,AX=4F00h,AX=4F10h/BL=01h
  9045. ----------10A00D-----------------------------
  9046. INT 10 - ATI Mach64 BIOS - GET SLEEP MODE
  9047.     AX = A00Dh
  9048. Return: AH = 00h (successful)
  9049.     CL = current power mode
  9050.         00h normal operation
  9051.         01h standby
  9052.         02h suspend
  9053.         03h off
  9054. SeeAlso: AX=A00Ch,AX=4F10h/BL=02h
  9055. ----------10A00E-----------------------------
  9056. INT 10 - ATI Mach64 BIOS - SET ???
  9057.     AX = A00Eh
  9058.     CL = ??? (00h-03h)
  9059. Return: AH = status
  9060.         00h successful
  9061.         01h failed
  9062. Note:    CL zero/nonzero are treated differently
  9063. SeeAlso: AX=A000h,AX=A00Fh
  9064. ----------10A00F-----------------------------
  9065. INT 10 - ATI Mach64 BIOS - GET ???
  9066.     AX = A00Fh
  9067. Return: AH = 00h (successful)
  9068.     CL = ??? (00h-03h, read from PORT 42ECh)
  9069. SeeAlso: AX=A000h,AX=A00Eh
  9070. ----------10A010-----------------------------
  9071. INT 10 - ATI Mach64 BIOS - ???
  9072.     AX = A010h
  9073.     CL = ???  (80h/other)
  9074.     ???
  9075. Return: AH = status
  9076.         00h successful
  9077.         01h failed
  9078.     ???
  9079. SeeAlso: AX=A000h,AX=A002h
  9080. ----------10A011-----------------------------
  9081. INT 10 - ATI Mach64 BIOS - GET ???
  9082.     AX = A011h
  9083. Return: AH = 00h (successful)
  9084.     BL = ??? (1Fh)
  9085.     BH = ??? (0Fh)
  9086.     CL = ??? (00h)
  9087.     CH = ??? (0Fh)
  9088.     DX = ??? (00FFh)
  9089. SeeAlso: AX=A000h,AX=A010h
  9090. ----------10A012-----------------------------
  9091. INT 10 - ATI Mach64 BIOS - GET ???
  9092.     AX = A012h
  9093. Return: AH = 00h (successful)
  9094.     AL = ??? (00h)
  9095.     BX = ??? (0000h)
  9096.     CX = ??? (0000h)
  9097.     DX = ??? (02ECh)
  9098. SeeAlso: AX=A000h,AX=A002h
  9099. ----------10A013-----------------------------
  9100. INT 10 - ATI Mach64 BIOS - ???
  9101.     AX = A013h
  9102.     ???
  9103. Return: AH = status
  9104.         00h successful
  9105.         01h failed
  9106.     ???
  9107. Note:    not implemented in examined BIOS, always returns AH=01h
  9108. SeeAlso: AX=A000h,AX=A002h
  9109. --------V-10A01B-----------------------------
  9110. INT 10 - PhoenixVIEW/LC - CRT MONITOR DETECTION
  9111.     AX = A01Bh
  9112.     ???
  9113. Return: ???
  9114. Desc:    determine whether an external display is currently attached
  9115. SeeAlso: AX=A004h"PhoenixVIEW/LC"
  9116. --------U-10AA-------------------------------
  9117. INT 10 OU - Player's Tool 3.0 - UNINSTALL
  9118.     AH = AAh
  9119. Return: ???
  9120. Note:    this call has been removed in PT 3.996b
  9121. Program: Player's Tool is a game cheater by Dmitry Yakunin & Andy Robinson
  9122. SeeAlso: AH=ABh,INT 2F/AH=AAh
  9123. --------U-10AB-------------------------------
  9124. INT 10 OU - Player's Tool 3.0 - INSTALLATION CHECK
  9125.     AH = ABh
  9126. Return: BH = FFh
  9127.     ???
  9128. Note:    this call has been removed in PT 3.996b
  9129. SeeAlso: AH=AAh,INT 2F/AH=ABh
  9130. --------A-10B0-------------------------------
  9131. INT 10 - CU Writer v1.4 - PUT PIXEL
  9132.     AH = B0h
  9133.     ???
  9134. Return: ???
  9135. SeeAlso: AH=A0h"CU Writer",AH=B1h,AH=B2h,AH=B3h,AH=B4h,AH=B5h,AH=D0h
  9136. --------A-10B1-------------------------------
  9137. INT 10 - CU Writer v1.4 - MOVE TO
  9138.     AH = B1h
  9139.     ???
  9140. Return: ???
  9141. SeeAlso: AH=B0h,AH=B2h,AH=C0h"CU Writer"
  9142. --------A-10B2-------------------------------
  9143. INT 10 - CU Writer v1.4 - DRAW LINE TO
  9144.     AH = B2h
  9145.     ???
  9146. Return: ???
  9147. SeeAlso: AH=B0h,AH=B1h,AH=B3h,AH=B4h,AH=B5h
  9148. --------A-10B3-------------------------------
  9149. INT 10 - CU Writer v1.4 - FLOOD FILL
  9150.     AH = B3h
  9151.     ???
  9152. Return: ???
  9153. SeeAlso: AH=B2h,AH=B5h
  9154. --------A-10B4-------------------------------
  9155. INT 10 - CU Writer v1.4 - DRAW RECTANGLE
  9156.     AH = B4h
  9157.     ???
  9158. Return: ???
  9159. SeeAlso: AH=B0h,AH=B2h,AH=B3h,AH=B5h
  9160. --------A-10B5-------------------------------
  9161. INT 10 - CU Writer v1.4 - DRAW FILLED RECTANGLE
  9162.     AH = B5h
  9163.     ???
  9164. Return: ???
  9165. SeeAlso: AH=B0h,AH=B2h,AH=B3h,AH=B4h
  9166. --------V-10BB-------------------------------
  9167. INT 10 U - Doorway - SET BIOS/DIRECT REDIRECTION
  9168.     AH = BBh
  9169.     AL = new redirection mode
  9170.         00h BIOS (hook and redirect INT 10h,etc.)
  9171.         01h DIRECT (scan video memory for changes)
  9172. Return: ???
  9173. SeeAlso: INT 16/AH=67h"Doorway"
  9174. --------V-10BD44-----------------------------
  9175. INT 10 U - Compaq QVision - ???
  9176.     AX = BD44h
  9177.     ???
  9178. Return: ???
  9179. Note:    called by Compaq's MTX132.COM, which places the QVision in 132-column
  9180.       mode
  9181. --------!---Section--------------------------
  9182.